<template>
  <view class="box" @click="showType = false">
    <view class="tou top" :style="'padding-top:' + statusBarHeight1 + 'px'">
      <image @click="fanhui" src="https://pic.bangbangtongcheng.com/static/back.png" />
      <!-- #ifndef MP-WEIXIN -->
      地图招才
      <!-- #endif -->
      <!-- #ifdef MP-WEIXIN -->
      <text style="margin-left: 75rpx">地图招才</text>
      <!-- #endif -->
    </view>
    <view class="mapTab">
      <view class="item" @click="cutClick(1)" :class="cuts == 1 ? 'active' : ''">全职招聘</view>
      <view class="item" @click="cutClick(2)" :class="cuts == 2 ? 'active' : ''">兼职招聘</view>
      <view class="item" @click="cutClick(3)" :class="cuts == 3 ? 'active' : ''">人才简历</view>
    </view>
    <!-- #ifdef MP-WEIXIN -->
    <map
      class="map AppMap"
      :scale="13"
      id="map"
      @regionchange="regionchange"
      :markers="markerList"
      :longitude="logt"
      :latitude="lat"
      :style="'top:' + (statusBarHeight1 + 44 + 37) + 'px'"
    ></map>
    <!-- #endif -->
    <!-- #ifdef H5 -->
    <view id="map" class="map" :style="'top:' + (statusBarHeight1 + 44 + 37) + 'px'"></view>
    <!-- #endif -->
    <!-- #ifndef APP -->
    <view class="listBox" :style="'bottom:' + shangyi + 'px'">
      <view>
        <image
          class="dingwei"
          @click="dingwei"
          src="https://pic.bangbangtongcheng.com/static/dingwei1.png"
        />
        <image
          :class="shangyi == 0 ? 'shang xia' : 'shang'"
          src="https://pic.bangbangtongcheng.com/static/you.png"
          @click="listBox_shang"
        />
        <view class="listTit">
          该区域内共有
          <span style="color: red"> {{ Recommend.length }} </span>
          <span>{{ cuts == 1 ? '条招聘信息' : cuts == 2 ? '条招聘信息' : '份简历' }}</span>
          <view></view>
        </view>
        <view class="sous">
          <view class="sous_input">
            <input
              class="sous_input_s"
              v-model="searchKeyword"
              placeholder="请输入关键字搜索"
              type="text"
            />
            <image
              class="sous_input_img"
              src="https://pic.bangbangtongcheng.com/static/sousuo1.png"
            >
            </image>
          </view>
          <view class="sous_btn" @click="sousuoClick()">搜索</view>
        </view>
        <view class="px_sx">
          <view class="pxu" @click.stop="showType = !showType">
            排序
            <view class="xuanz" v-if="showType">
              <text class="items" @click="sortClick(1)"> 最新发布 </text>
              <text class="items" @click="sortClick(2)"> 按薪资从高到低 </text>
              <text class="items" @click="sortClick(3)"> 按距离从近到远 </text>
            </view>
          </view>
          <view class="sxuan" @click="showModal" data-target="DrawerModalR">筛选</view>
        </view>
        <view class="list" v-if="Recommend.length != 0">
          <scroll-view
            scroll-y
            style="height: 500px"
            lower-threshold="20"
            @scrolltolower="bottomScroll"
            refresher-background="#f5f5f5"
            :scroll-top="scrollTopNum"
            @scroll="scrollTopFuc"
          >
            <template v-if="cuts == 1">
              <view
                class="vacancy"
                v-for="(item, index) in Recommend"
                :key="index"
                @click="details(item)"
              >
                <view class="vehicleRecom">
                  <span class="tagLabel">全职</span>
                  <span>{{ item.title }}</span>
                </view>
                <view class="vacancy_center">
                  <view class="vacancy_status">
                    <span>{{ item.region }}</span>
                    <span>{{ item.positionCategory }}</span>
                  </view>
                  <view class="vacancy_price">{{
                    item.salaryRange == '面议' ? '面议' : item.salaryRange + '元'
                  }}</view>
                </view>
                <view class="vacancy_biaoq" v-if="item.fringeBenefits">
                  <view class="vacancy_label">
                    <view class="shade"> </view>
                    <view class="label" v-for="(i, j) in item.fringeBenefits.split(',')" :key="j">{{
                      i
                    }}</view>
                  </view>
                  <!-- <view class="gend" v-if="item.fringeBenefits.split(',').length > 4"> 更多> </view> -->
                </view>
                <view class="personalInformation">
                  <view class="personalInformation_left">
                    <view class="GR">
                      <image
                        class="personalInformation_image"
                        v-if="item.userInformation.image"
                        :src="item.userInformation.image"
                        mode=""
                      ></image>
                      <image
                        class="personalInformation_image"
                        v-else
                        src="https://pic.bangbangtongcheng.com/static/my/header.png"
                        mode=""
                      ></image>
                      <span class="name">{{
                        item.userInformation.nikeName ? item.userInformation.nikeName : '未命名用户'
                      }}</span>
                    </view>
                    <view class="GS">
                      <view class="personalInformation_image"></view>
                      <span class="corporation">{{ item.enterpriseName }}</span>
                    </view>
                  </view>
                  <view class="personalInformation_right">
                    <span class="personalInformation_Time">{{
                      $Time.getDateDiff(item.createDate)
                    }}</span>
                    <span class="personalInformation_distance">{{ item.distance }}km</span>
                  </view>
                </view>
              </view>
            </template>
            <template v-else-if="cuts == 2">
              <view
                class="vacancy"
                v-for="(item, index) in Recommend"
                :key="index"
                @click="details(item)"
              >
                <view class="vehicleRecom">
                  <span class="tagLabel">兼职</span>
                  <span>{{ item.title }}</span>
                </view>
                <view class="vacancy_center">
                  <view class="vacancy_status">
                    <span>{{ item.region }}</span>
                    <span>{{ item.positionCategory }}</span>
                  </view>
                  <view class="vacancy_price">
                    {{ item.salaryRange && item.salaryRange.split(',').join('') || ''}}&emsp;{{
                      item.settlementMethod
                    }}
                  </view
                  >
                </view>
                <view class="vacancy_biaoq" v-if="item.fringeBenefits">
                  <view class="vacancy_label">
                    <view class="shade"> </view>
                    <view class="label" v-for="(i, j) in item.fringeBenefits.split(',')" :key="j">{{
                      i
                    }}</view>
                  </view>
                  <!-- <view class="gend" v-if="item.fringeBenefits.split(',').length > 4"> 更多> </view> -->
                </view>
                <view class="personalInformation">
                  <view class="personalInformation_left" v-if="item.userInformation">
                    <view class="GR">
                      <image
                        class="personalInformation_image"
                        v-if="item.userInformation.image"
                        :src="item.userInformation.image"
                        mode=""
                      ></image>
                      <image
                        class="personalInformation_image"
                        v-else
                        src="https://pic.bangbangtongcheng.com/static/my/header.png"
                        mode=""
                      ></image>
                      <span class="name">{{
                        item.userInformation.nikeName
                          ? item.userInformation.nikeName
                          : '未命名用户'
                      }}</span>
                    </view>
                    <view class="GS" v-if="item.userInformation.enterpriseRecruitmentStatus">
                      <view class="personalInformation_image"></view>
                      <span class="corporation">{{ item.enterpriseName }}</span>
                    </view>
                  </view>
                  <view class="personalInformation_right">
                    <span class="personalInformation_Time">{{
                      $Time.getDateDiff(item.createDate)
                    }}</span>
                    <span class="personalInformation_distance">{{ item.distance }}km</span>
                  </view>
                </view>
              </view>
            </template>
            <template v-else-if="cuts == 3">
              <view
                class="resume"
                v-for="item in Recommend"
                :key="item.id"
                @click="details(item)"
              >
                <view class="resumeTop">
                  <view class="avatar">
                    <!-- 全部可见 -->
                    <template v-if="item.visibleRange == '1'">
                      <image
                        :src="
                          item.myPhoto || 'https://pic.bangbangtongcheng.com/static/my/header.png'
                        "
                        mode="aspectFill"
                        :style="{ filter: curUserIdentityType == null && (curUserIdentityType === 'PERSONAL' && curUserAuditStatus !== '1') ? 'blur(20rpx)' : '' }"
                      ></image>
                    </template>
                    <!-- 企业可见 -->
                    <template v-if="item.visibleRange == '2'">
                      <image
                        :src="
                          item.myPhoto || 'https://pic.bangbangtongcheng.com/static/my/header.png'
                        "
                        mode="aspectFill"
                        :style="{
                          filter:
                            curUserIdentityType == null ||
                            curUserIdentityType === 'PERSONAL' ||
                            curUserIdentityType == 'HOUSE_BROKER' ||
                            curUserIdentityType == 'CAR_BROKER_CAR_SALES_CONSULTANT'
                              ? 'blur(20rpx)'
                              : '',
                        }"
                      ></image>
                    </template>
                  </view>
                  <view class="resumeInfo">
                    <view class="nameInfo">
                      <span class="realName">{{ item.name }}</span>
                      <span v-if="item.age">{{ item.age ? item.age + '岁' : '' }}</span>
                      <span v-if="item.highestEducation">{{
                        item.highestEducation ? '学历：' + item.highestEducation : ''
                      }}</span>
                      <span v-if="item.experienceYears">{{
                        item.experienceYears ? '工作经验：' + item.experienceYears : ''
                      }}</span>
                    </view>
                    <view class="vacancy_biaoq2">
                      <view class="vacancy_label" v-if="item.intendedPosition">
                        期望工作：
                        <view class="shade"> </view>
                        <view
                          class="label"
                          v-for="(i, j) in getIntendedPosition(item.intendedPosition)"
                          :key="j"
                        >
                          {{ i }}
                        </view>
                      </view>
                      <view class="vacancy_label" v-else> 期望工作： </view>
                      <view
                        class="gend"
                        v-if="item.intendedPosition && item.intendedPosition.split(',').length > 1"
                      >
                        <image
                          src="https://pic.bangbangtongcheng.com/static/index-gradient-right-%20arrow.png"
                        >
                        </image>
                      </view>
                    </view>
                  </view>
                </view>
                <view class="resumeBottom"> 自我介绍：{{ item.introduction || '' }} </view>
              </view>
            </template>
          </scroll-view>
        </view>
      </view>
      <view class="list" v-if="Recommend.length == 0" style="height: 500px">
        <p
          style="
            text-align: center;
            font-size: 34rpx;
            color: #666;
            padding-top: 50rpx;
            font-size: 30rpx;
          "
        >
          {{
            cuts == 1
              ? '该区域暂无全职招聘信息，请重新选择'
              : cuts == 2
              ? '该区域兼职招聘信息，请重新选择'
              : '该区域暂无人才简历信息，请重新选择'
          }}
        </p>
      </view>
      <view></view>
      <view></view>
    </view>
    <!-- #endif -->
    <!-- #ifndef APP -->
    <view
      class="cu-modal drawer-modal justify-end"
      style="z-index: 999"
      :class="modalName == 'DrawerModalR' ? 'show' : ''"
    >
      <scroll-view scroll-y="true">
        <view class="tittit" :style="[{ top: 'calc(' + CustomBar1 + 'px' + ' + 36px )' }]">
          <view @click="hideModal()">×</view>筛选
        </view>
        <view
          class="cu-dialog basis-lg"
          @tap.stop
          :style="[
            {
              top: 'calc(' + CustomBar1 + 'px' + ' + 36px )',
              height: 'calc(100vh - ' + CustomBar1 + 'px - 36px)',
            },
          ]"
        >
          <view class="cu-list menu text-left">
            <view style="height: 80rpx"></view>
            <template v-if="cuts == 1">
              <view class="leibie">
                区域
                <view class="list">
                  <view
                    @click.stop="typeClick(index, 'type7')"
                    :class="item.active ? 'li xuan' : 'li'"
                    v-for="(item, index) in type7"
                    :key="index"
                    >{{ item.valueName }}</view
                  >
                </view>
              </view>
              <view class="position">
                <view class="position_top" @click="positionCategory()">
                  <view class="title"> 职位分类 </view>
                  <image
                    class="image"
                    src="https://pic.bangbangtongcheng.com/static/bbzc/sx_yjt.png"
                    mode=""
                  ></image>
                </view>
                <view class="list" v-if="ZWLX.length">
                  <view class="lable" v-for="(i, j) in ZWLX" :key="j">
                    {{ i.split(',')[2] }}
                    <view class="close" @click="close(i)">
                      <image
                        class="image"
                        src="https://pic.bangbangtongcheng.com/static/bbzc/sx_close.png"
                        mode=""
                      ></image>
                    </view>
                  </view>
                </view>
              </view>
              <view class="leibie">
                薪资范围
                <view class="list">
                  <view
                    @click.stop="typeClick(index, 'type10')"
                    :class="item.active ? 'li xuan' : 'li'"
                    v-for="(item, index) in type10"
                    :key="index"
                    >{{ item.valueName }}</view
                  >
                </view>
              </view>
              <view class="leibie">
                企业福利
                <view class="list">
                  <view
                    @click.stop="typeClick(index, 'type1')"
                    :class="item.active ? 'li xuan' : 'li'"
                    v-for="(item, index) in type1"
                    :key="index"
                    >{{ item.valueName }}</view
                  >
                </view>
              </view>
              <view class="leibie">
                学历要求
                <view class="list">
                  <view
                    @click.stop="typeClick(index, 'type3')"
                    :class="item.active ? 'li xuan' : 'li'"
                    v-for="(item, index) in type3"
                    :key="index"
                    >{{ item.valueName }}</view
                  >
                </view>
              </view>
              <view class="leibie">
                工作经验
                <view class="list">
                  <view
                    @click.stop="typeClick(index, 'type2')"
                    :class="item.active ? 'li xuan' : 'li'"
                    v-for="(item, index) in type2"
                    :key="index"
                    >{{ item.valueName }}</view
                  >
                </view>
              </view>
            </template>
            <template v-else-if="cuts == 2">
              <view class="leibie">
                结算方式
                <view class="list">
                  <view
                    @click.stop="typeClick(index, 'type5')"
                    :class="item.active ? 'li xuan' : 'li'"
                    v-for="(item, index) in type5"
                    :key="index"
                    >{{ item.valueName }}</view
                  >
                </view>
              </view>
              <view class="leibie">
                薪资范围
                <view class="salaryRange">
                  <view class="inputs">
                    <input
                      class="input"
                      v-model="JZminimumWage"
                      @input="inputChage1"
                      placeholder="最低薪资"
                      type="digit"
                    />元
                  </view>
                  <span class="span">-</span>
                  <view class="inputs">
                    <input
                      class="input"
                      v-model="JZMaximumSalary"
                      @input="inputChage2"
                      placeholder="最高薪资"
                      type="digit"
                    />元
                  </view>
                  <view class="qued" @click="define1"> 确定 </view>
                </view>
              </view>
              <view class="leibie">
                性别要求
                <view class="list">
                  <view
                    @click.stop="typeClick(index, 'typexb')"
                    :class="item.active ? 'li xuan' : 'li'"
                    v-for="(item, index) in typexb"
                    :key="index"
                    >{{ item.valueName }}</view
                  >
                </view>
              </view>
              <view class="position">
                <view class="position_top" @click="positionCategory()">
                  <view class="title"> 岗位类型 </view>
                  <image
                    class="image"
                    src="https://pic.bangbangtongcheng.com/static/bbzc/sx_yjt.png"
                    mode=""
                  ></image>
                </view>
                <view class="list" v-if="ZWLX.length">
                  <view class="lable" v-for="(i, j) in ZWLX" :key="j">
                    {{ i.split(',')[2] }}
                    <view class="close" @click="close(i)">
                      <image
                        class="image"
                        src="https://pic.bangbangtongcheng.com/static/bbzc/sx_close.png"
                        mode=""
                      ></image>
                    </view>
                  </view>
                </view>
              </view>
              <view class="leibie">
                工作时段
                <view class="timeInterval">
                  <view class="xbRadio">
                    <view class="radio" @click.stop="tabClickgz(1)">
                      <view class="radio_item" :class="workHours == 1 ? 'radioxz' : ''"></view>
                      <span>不限</span>
                    </view>
                  </view>
                  <view class="selector">
                    <picker
                      mode="multiSelector"
                      @change="Change1($event)"
                      :value="timeIndex1"
                      :range="timeOptions"
                    >
                      <view class="selector_item">
                        {{ timeVal1 ? timeVal1 : '请选择' }}
                        <image
                          class="image"
                          src="https://pic.bangbangtongcheng.com/static/bbzc/corporation/gs_gd.png"
                          mode=""
                        ></image>
                      </view>
                    </picker>
                    <view style="margin: 0 16rpx; font-size: 28rpx">至</view>
                    <picker
                      mode="multiSelector"
                      @change="Change2($event)"
                      :value="timeIndex2"
                      :range="timeOptions"
                    >
                      <view class="selector_item">
                        {{ timeVal2 ? timeVal2 : '请选择' }}
                        <image
                          class="image"
                          src="https://pic.bangbangtongcheng.com/static/bbzc/corporation/gs_gd.png"
                          mode=""
                        ></image>
                      </view>
                    </picker>
                  </view>
                </view>
              </view>
              <view class="leibie">
                用工周期
                <view class="timeInterval">
                  <view class="xbRadio">
                    <view class="radio" @click.stop="tabClickyg(1)">
                      <view class="radio_item" :class="recruitUse == 1 ? 'radioxz' : ''"></view>
                      <span>不限</span>
                    </view>
                  </view>
                  <view class="selector">
                    <picker
                      mode="multiSelector"
                      @change="dateChange1($event)"
                      :value="dateIndex1"
                      @columnchange="pickerColumnDept1"
                      :range="dateOptions"
                    >
                      <view class="selector_item">
                        {{ dateVal1 ? dateVal1 : '请选择' }}
                        <image
                          class="image"
                          src="https://pic.bangbangtongcheng.com/static/bbzc/corporation/gs_gd.png"
                          mode=""
                        ></image>
                      </view>
                    </picker>
                    <view style="margin: 0 16rpx; font-size: 28rpx">至</view>
                    <picker
                      mode="multiSelector"
                      @change="dateChange2($event)"
                      :value="dateIndex2"
                      @columnchange="pickerColumnDept2"
                      :range="dateOptions"
                    >
                      <view class="selector_item">
                        {{ dateVal2 ? dateVal2 : '请选择' }}
                        <image
                          class="image"
                          src="https://pic.bangbangtongcheng.com/static/bbzc/corporation/gs_gd.png"
                          mode=""
                        ></image>
                      </view>
                    </picker>
                  </view>
                </view>
              </view>
              <view class="leibie">
                工作周期(可多选)
                <view class="list">
                  <view
                    @click.stop="typeClickD(index, 'type6')"
                    :class="item.active ? 'li xuan' : 'li'"
                    v-for="(item, index) in type6"
                    :key="index"
                    >{{ item.valueName }}</view
                  >
                </view>
              </view>
              <view class="leibie">
                工作区域(可多选)
                <view class="list">
                  <view
                    @click.stop="typeClickD(index, 'type7')"
                    :class="item.active ? 'li xuan' : 'li'"
                    v-for="(item, index) in type7"
                    :key="index"
                    >{{ item.valueName }}</view
                  >
                </view>
              </view>
              <view class="leibie">
                福利(可多选)
                <view class="list">
                  <view
                    @click.stop="typeClickD(index, 'type7s')"
                    :class="item.active ? 'li xuan' : 'li'"
                    v-for="(item, index) in type7s"
                    :key="index"
                    >{{ item.valueName }}</view
                  >
                </view>
              </view>
              <view class="leibie">
                招聘者
                <view class="list">
                  <view
                    @click.stop="typeClick(index, 'typezpz')"
                    :class="item.active ? 'li xuan' : 'li'"
                    v-for="(item, index) in typezpz"
                    :key="index"
                    >{{ item.valueName }}</view
                  >
                </view>
              </view>
            </template>
            <template v-else-if="cuts == 3">
              <!-- 后台异常，有这个不生效没有作用，所以注释 2023-07-11 -->
              <!-- <view class="leibie" style="display: flex;align-items: center;">
								距离
								<view class="select">
									<uni-data-select v-model="referserveData.distance" placeholder="请选择" :clear="false"
										:localdata="type11"></uni-data-select>
								</view>
							</view> -->
              <view class="leibie" style="display: flex; align-items: center">
                发布日期
                <view class="select">
                  <uni-data-select
                    v-model="referserveData.releaseDate"
                    placeholder="请选择"
                    :clear="false"
                    :localdata="typerq"
                  ></uni-data-select>
                </view>
                天内
              </view>
              <view class="position">
                <view class="position_top" @click="positionCategory()">
                  <view class="title"> 职位分类 </view>
                  <image
                    class="image"
                    src="https://pic.bangbangtongcheng.com/static/bbzc/sx_yjt.png"
                    mode=""
                  ></image>
                </view>
                <view class="list" v-if="ZWLX.length">
                  <view class="lable" v-for="(i, j) in ZWLX" :key="j">
                    {{ i.split(',')[2] }}
                    <view class="close" @click="close(i)">
                      <image
                        class="image"
                        src="https://pic.bangbangtongcheng.com/static/bbzc/sx_close.png"
                        mode=""
                      >
                      </image>
                    </view>
                  </view>
                </view>
              </view>
              <view class="leibie">
                学历要求
                <span style="font-size: 24rpx; font-weight: 400; color: #adadad">*可多选</span>
                <view class="list">
                  <view
                    @click.stop="typeClick3(index)"
                    :class="item.active ? 'li xuan' : 'li'"
                    v-for="(item, index) in type3s"
                    :key="index"
                    >{{ item.valueName }}</view
                  >
                </view>
              </view>
              <view class="leibie">
                年龄
                <view class="timeInterval">
                  <view class="xbRadio">
                    <view class="radio" @click.stop="tabClickage(1)">
                      <view class="radio_item" :class="ages == 1 ? 'radioxz' : ''"></view>
                      <span>不限</span>
                    </view>
                  </view>
                  <view class="selector">
                    <view class="selects">
                      <uni-data-select
                        v-model="minAge"
                        placeholder="请选择"
                        @change="change"
                        :clear="false"
                        :localdata="typeNL"
                      ></uni-data-select>
                    </view>
                    <view style="margin: 0 16rpx; font-size: 34rpx">至</view>
                    <view class="selects">
                      <uni-data-select
                        v-model="maxAge"
                        placeholder="请选择"
                        @change="change"
                        :clear="false"
                        :localdata="typeNL"
                      ></uni-data-select>
                    </view>
                  </view>
                </view>
              </view>
              <view class="leibie">
                工作经验
                <view class="list">
                  <view
                    @click.stop="typeClick(index, 'type2')"
                    :class="item.active ? 'li xuan' : 'li'"
                    v-for="(item, index) in type2"
                    :key="index"
                    >{{ item.valueName }}</view
                  >
                </view>
              </view>
              <view class="leibie">
                薪资范围
                <view class="salaryRange">
                  <view class="inputs">
                    <input
                      class="input"
                      v-model="JLminimumWage"
                      @input="inputChage3"
                      placeholder="最低薪资"
                      type="digit"
                    />元
                  </view>
                  <span class="span">-</span>
                  <view class="inputs">
                    <input
                      class="input"
                      v-model="JLMaximumSalary"
                      @input="inputChage4"
                      placeholder="最高薪资"
                      type="digit"
                    />元
                  </view>
                  <view class="qued" @click="define2"> 确定 </view>
                </view>
              </view>
            </template>
          </view>
        </view>
        <view class="di">
          <view class="div l" @click.stop="cz">重置</view>
          <view class="div r" @click.stop="sx">确定</view>
        </view>
      </scroll-view>
    </view>
    <!-- #endif -->
    <uniBall></uniBall>
    <uni-popup ref="bindLocationTip" mode="center">
      <view class="binds_frame_bindLocationTip">
        <view class="binds_frame_t"></view>
        <view class="binds_frame_c">您已关闭位置权限<br />或获取位置信息失败</view>
        <view class="binds_frame_b">
          <view class="cancel" @click="$refs.bindLocationTip.close()">取消</view>
          <view class="determine" @click="toLocationSetting()">确定</view>
        </view>
      </view>
    </uni-popup>
  </view>
</template>
<script>
  import { mapGetters } from 'vuex'
  import { TMap } from '../components/TMap'
  //#ifdef H5
  import wxshare from '../utils/index.js'
  //#endif
  export default {
    data() {
      return {
        scrollTopNum: 0,
        oldScrollTopNum: 0,
        userInfo: uni.getStorageSync('Pduser'),
        curUserIdentityType: uni.getStorageSync('curUserIdentityType'), // 当前账号认证类型
        curUserAuditStatus: uni.getStorageSync('curUserAuditStatus'), // 当前账号认证状态
        typeIndex: 1,
        markersArray: [],
        markersArrays: [],
        map: '',
        yuanLat: '',
        yuanLogt: '',
        lat: '',
        logt: '',
        shangyi: -315,
        sousuo: true,
        xuan: 1,
        modalName: '',
        pageSize: 10,
        pageNo: 1,
        Recommend: [],
        Recount: '',
        imgUrl: this.$imgSrc,
        showType: false,
        orderSort: '1',
        scrollTop: '0',
        trigger: false,
        downStatus: true,
        upStatus: true,
        CustomBar1: '',
        distance: 3000,
        _mapContext: null,
        yuan: {},
        markerList: [],
        latitude: '',
        longitude: '',
        cuts: 1,
        screenWidth: 300,
        screendw: 0,
        pagingList: [],
        page: 1,
        //找全职数据
        referCarSourceData: {
          pageSize: 9999,
          pageNo: 1,
          searchKeyword: '',
          sort: '',
          longitude: '', //经度
          latitude: '', //纬度
          positionCategory: '', //职位类别
          region: '', //所在区域
          salaryRange: '', //薪资范围
          fringeBenefits: '', //福利待遇
          educationalRequirements: '', //学历要求
          yearsService: '', //工作经验
        },
        searchKeyword: '',
        sortData: '',
        //找兼职数据
        referstoreData: {
          pageSize: 9999,
          pageNo: 1,
          searchKeyword: '',
          sort: '',
          longitude: '', //经度
          latitude: '', //纬度
          settlementMethod: '', //结算方式
          salaryRange: '', //薪资范围
          genderRequirements: '', //性别要求
          positionCategory: '', //岗位类型
          workingHours: '', //工作时段
          employmentDate: '', //用工周期
          workCycle: '', //工作周期
          region: '', //工作区域
          fringeBenefits: '', //福利待遇
          recruiter: '', //招聘者
        },
        //找人才简历数据
        referserveData: {
          pageSize: 9999,
          pageNo: 1,
          searchKeyword: '',
          sort: '',
          longitude: '', //经度
          latitude: '', //纬度
          highestEducation: '', //学历要求
          intendedPosition: '', //意向职位
          dateBirth: '', //年龄
          workExperience: '', //工作经验
          salaryExpectation: '', //薪资范围
          releaseDate: '', //发布日期
        },
        // 职位类型
        ZWLX: [],
        // 全职
        type7: [], // 区域
        type1: [{ active: true, valueName: '不限' }], //企业福利
        type2: [{ active: true, valueName: '不限' }], //工作经验
        type3: [{ active: true, valueName: '不限' }], //学历要求
        type10: [{ active: true, valueName: '不限' }], //薪资范围
        // 兼职
        // 薪资范围
        JZminimumWage: '',
        JZMaximumSalary: '',
        // 职位类型
        ZWLX: [],
        type6: [], //工作周期
        type7s: [], // 兼职福利
        type5: [{ active: true, valueName: '不限' }],
        typexb: [
          {
            active: true,
            valueName: '不限',
          },
          {
            active: false,
            valueName: '男',
          },
          {
            active: false,
            valueName: '女',
          },
        ], //性别
        typezpz: [
          {
            active: true,
            valueName: '不限',
          },
          {
            active: false,
            valueName: '只看认证企业',
          },
          {
            active: false,
            valueName: '只看个人用工',
          },
        ], //招聘者
        workHours: '1',
        recruitUse: '1',
        // 时分选择器数据
        timeOptions: [],
        timeIndex1: [0, 0],
        timeIndex2: [0, 0],
        timeVal1: '',
        timeVal2: '',
        // 获取日月选择器
        dateOptions: [],
        dateOptions_key: [],
        dateIndex1: [0, 0],
        dateIndex2: [0, 0],
        pickerInitR1: 0,
        pickerInitR2: 0,
        dateVal1: '',
        dateVal2: '',
        dateVal1s: '',
        dateVal2s: '',
        //人才简历
        typerq: [],
        type11: [
          {
            value: '不限',
            text: '不限',
          },
        ],
        typeNL: [],
        type3s: [{ active: true, valueName: '不限' }], //学历要求
        // 年龄
        ages: 1,
        minAge: '25',
        maxAge: '40',
        JLminimumWage: '',
        JLMaximumSalary: '',
      }
    },
    computed: {
      ...mapGetters(['statusBarHeight1', 'userinfo']),
    },
    onLoad(options) {
      uni.getSystemInfo({
        success: (res) => {
          this.screenWidth = res.screenWidth
        },
      })
      // this.distance = this.screenWidth * 0.8;
      console.log(this.distance);
      this.age()
      this.getType()
      this.getArea()
      this.timeDivision()
      this.dateDivision()
      this.CustomBar1 = this.CustomBar
      // 获取窗口信息
      let getWindowInfo = uni.getWindowInfo()
      let isAndroid = false
      const res = uni.getSystemInfoSync()
      if (res.platform == 'android') {
        this.viewHight = getWindowInfo.screenHeight - (this.CustomBar1 + 36 + 80 + 50)
      } else {
        this.viewHight = getWindowInfo.screenHeight - (this.CustomBar1 + 36 + 80 + 100)
      }
      this.getLocation()
      // #ifdef H5
      this.jinzhi()
      // #endif
    },
    async onPullDownRefresh() {
      this.Recommend = []
      this.pageNo = 1
      this.downStatus = true
      if (this.upStatus) {
        this.trigger = true
        await this.getRecommend()
      }
    },
    // mounted() {
    //   // #ifdef H5
    //   this.initMap()
    //   // #endif
    // },
    onUnload() {
      uni.$off('closese')
      uni.$off('confirm')
    },
    methods: {
      // 获取年龄
      age() {
        for (let i = 18; i <= 70; i++) {
          this.typeNL.push({
            value: i,
            text: i,
          })
        }
      },
      tabClickgz(index) {
        this.workHours = index
      },
      tabClickyg(index) {
        this.recruitUse = index
      },
      change(e) {
        if (e) this.ages = 0;
      },
      positionCategory() {
        uni.setStorageSync('zwlbss_key', this.ZWLX);
        uni.navigateTo({
          url: '/pages_recruitMoney/recruitmentInformation/selectPositionCategory?index=1',
        })
      },
      tabClickage(index) {
        this.ages = index
      },
      close(j) {
        let index = this.ZWLX.indexOf(j)
        this.ZWLX.splice(index, 1)
      },
      typeClick3(index) {
        let that = this
        if (index) {
          that.$set(that.type3s[0], 'active', false)
          this.type3s.forEach((el, index1) => {
            if (index == index1) {
              that.$set(that.type3s[index1], 'active', !el.active)
            }
          })
        } else {
          this.type3s.forEach((el, index1) => {
            if (index == index1) {
              that.$set(that.type3s[index1], 'active', !el.active)
            } else {
              that.type3s[index1].active = false
            }
          })
        }
      },
      typeClickD(index, type) {
        let that = this
        this[type].forEach((el, index1) => {
          if (index == index1) {
            that.$set(that[type][index1], 'active', !el.active)
          }
        })
      },
      typeClick(index, type) {
        let that = this
        this[type].forEach((el, index1) => {
          if (index == index1) {
            that.$set(that[type][index1], 'active', !el.active)
          } else {
            that[type][index1].active = false
          }
        })
      },
      sortClick(index) {
        this.sortData = index
        if (this.cuts == 1) {
          this.referCarSourceData.sort = index
          this.Recommend = []
        } else if (this.cuts == 2) {
          this.referstoreData.sort = index
          this.Recommend = []
        } else if (this.cuts == 3) {
          this.referserveData.sort = index
          this.Recommend = []
        }
        this.getRecommend()
      },
      sousuoClick() {
        if (this.cuts == 1) {
          this.referCarSourceData.searchKeyword = this.searchKeyword
          this.Recommend = []
        } else if (this.cuts == 2) {
          this.referstoreData.searchKeyword = this.searchKeyword
          this.Recommend = []
        } else if (this.cuts == 3) {
          this.referserveData.searchKeyword = this.searchKeyword
          this.Recommend = []
        }
        this.getRecommend()
      },
      // 分页
      getExport() {
        this.page = 1
        this.pagingList = this.getpage(this.page, this.Recommend)
      },
      getpage(page, list) {
        let sindex = (parseInt(page) - 1) * 10
        let eindex = parseInt(page) * 10
        let newList = list.slice(sindex, eindex)
        return newList
      },
      bottomScroll() {
        if (this.pagingList.length == this.Recommend.length) {
          uni.showToast({
            title: '已经到最底部了',
            icon: 'none',
          })
          return
        }
        this.page += 1
        uni.showLoading({
          title: '加载中',
        })
        setTimeout(() => {
          this.pagingList = [...this.pagingList, ...this.getpage(this.page, this.Recommend)]
          uni.hideLoading()
        }, 500)
      },
      // 店铺选择切换
      shopSwitchClick(index) {
        this.Recommend = []
        this.getRecommend()
      },
      scrollTopFuc(e) {
        // if (this.screendw == 0) {
        // 	this.listBox_shang()
        // 	this.screendw = 1
        // }
        //记录scroll  位置
        this.oldScrollTopNum = e.detail.scrollTop
      },
      adjustScrollTop() {
        //视图会发生重新渲染
        this.scrollTopNum = this.oldScrollTopNum
        //当视图渲染结束 重新设置为0
        this.$nextTick(() => {
          this.scrollTopNum = 0
        })
      },
      //wx的自己定位
      WXitself() {
        this.markerList.push({
          id: 2,
          latitude: Number(this.yuanLat),
          longitude: Number(this.yuanLogt),
          iconPath: 'https://pic.bangbangtongcheng.com/523c5245ee0f4ec683aeb3b1910887e0',
          width: 30,
          height: 30,
        })
      },
      // H5的自己定位
      H5itself() {
        var center = new qq.maps.LatLng(this.yuanLat, this.yuanLogt)
        var anchor = new qq.maps.Point(15, 15),
          size = new qq.maps.Size(30, 30),
          scaleSize = new qq.maps.Size(30, 30),
          origin = new qq.maps.Point(0, 0),
          icon = new qq.maps.MarkerImage(
            'https://pic.bangbangtongcheng.com/523c5245ee0f4ec683aeb3b1910887e0',
            size,
            origin,
            anchor,
            scaleSize
          )
        var marker = new qq.maps.Marker({
          icon: icon,
          position: center,
          map: this.map,
        })
        this.markersArrays.push(marker)
      },
      cutClick(cut) {
        this.sortData = '';
        console.log(`触发 cutClick=1 未进判断`);
        switch (cut) {
          case 1:
            this.cuts = cut
            this.searchKeyword = '';
            (this.referCarSourceData = {
              pageSize: 9999,
              pageNo: 1,
              searchKeyword: '',
              sort: '',
              longitude: '', //经度
              latitude: '', //纬度
              positionCategory: '', //职位类别
              region: '', //所在区域
              salaryRange: '', //薪资范围
              fringeBenefits: '', //福利待遇
              educationalRequirements: '', //学历要求
              yearsService: '', //工作经验
            }),
              (this.Recommend = [])
            console.log(`触发 cutClick=1`);
            // this.getRecommend()
            break
          case 2:
            this.cuts = cut
            ;(this.referstoreData = {
              pageSize: 9999,
              pageNo: 1,
              searchKeyword: '',
              sort: '',
              longitude: '', //经度
              latitude: '', //纬度
              settlementMethod: '', //结算方式
              salaryRange: '', //薪资范围
              genderRequirements: '', //性别要求
              positionCategory: '', //岗位类型
              workingHours: '', //工作时段
              employmentDate: '', //用工周期
              workCycle: '', //工作周期
              region: '', //工作区域
              fringeBenefits: '', //福利待遇
              recruiter: '', //招聘者
            }),
              (this.searchKeyword = '')
            this.Recommend = []
            // this.getRecommend()
            break
          case 3:
            this.cuts = cut
            this.searchKeyword = '';
            this.referserveData = {
              pageSize: 9999,
              pageNo: 1,
              searchKeyword: '',
              sort: '',
              longitude: '', //经度
              latitude: '', //纬度
              highestEducation: '', //学历要求
              intendedPosition: '', //意向职位
              dateBirth: '', //年龄
              workExperience: '', //工作经验
              salaryExpectation: '', //薪资范围
              releaseDate: '', //发布日期
            }
            this.Recommend = [];
              // this.getRecommend()
            break
          }
          this.cz();
      },
      async getLocation() {
        this.getLocation1()
      },
      getLocation1() {
        let _this = this
        uni.getLocation({
          type: 'gcj02',
          highAccuracyExpireTime: '3000',
          success(res) {
            _this.latitude = res.latitude
            _this.longitude = res.longitude
            _this.yuanLat = res.latitude
            _this.yuanLogt = res.longitude
            _this.lat = res.latitude
            _this.logt = res.longitude
            // #ifdef H5
            _this.initMap()
            // #endif
            // #ifdef MP-WEIXIN
            _this.initYuan(_this.lat, _this.logt)
            // #endif
          },
          fail:(res) => {
            console.log(res, '经纬度没有授权');
            this.$SHOWMODAL_TO_SETTINGS();
            uni.setStorageSync('locationState', 0)
            if (uni.getStorageSync('locationState') == 0) {
              // _this.$refs.bindLocationTip.open()
              return false
            }
          },
        })
      },
      toLocationSetting() {
        if (plus.os.name === 'iOS') {
          plus.runtime.openURL('app-settings://')
        } else {
          var Intent = plus.android.importClass('android.content.Intent')
          var Settings = plus.android.importClass('android.provider.Settings')
          var Uri = plus.android.importClass('android.net.Uri')
          var mainActivity = plus.android.runtimeMainActivity()
          var intent = new Intent()
          intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
          var uri = Uri.fromParts('package', mainActivity.getPackageName(), null)
          intent.setData(uri)
          mainActivity.startActivity(intent)
        }
      },
      getCenterLanLat() {
        console.log('getCenterLanLat');
        this._mapContext = uni.createMapContext('map', this)
        this._mapContext.getScale({
          success: (res) => {
            this.calculateDis(res.scale);
          },
        })
        this._mapContext.getCenterLocation({
          success: (res) => {
            this.markerList = []
            let markerList = []
            markerList.push({
              id: 1,
              latitude: res.latitude,
              longitude: res.longitude,
              iconPath: 'https://pic.bangbangtongcheng.com/static/yuan.png',
              width: this.screenWidth,
              height: this.screenWidth,
              anchor: {
                x: 0.5,
                y: 0.5,
              },
            })
            this.yuan = {
              id: 1,
              latitude: res.latitude,
              longitude: res.longitude,
              iconPath: 'https://pic.bangbangtongcheng.com/static/yuan.png',
              width: this.screenWidth,
              height: this.screenWidth,
              anchor: {
                x: 0.5,
                y: 0.5,
              },
            }
            this.lat = res.latitude
            this.logt = res.longitude
            this.markerList = markerList
            this.pageNo = 1
            this.getRecommend()
          },
          fail() {
            console.log('定位失败？')
          },
        })
      },
      getIntendedPosition(data) {
        let json = data
        if (json.includes('[') && json.includes(']')) {
          json = JSON.parse(data)
        }
        let arr = []
        json.forEach((item) => {
          let itemArr = item.split(',')
          arr.push(itemArr[itemArr.length - 1])
        })
        return arr
      },
      details(item) {
        if (this.cuts == 1) {
          // 全职招聘
          uni.navigateTo({
            url: '/pages_recruitMoney/recruitmentDetails/fullTime?id=' + item.id,
          })
        } else if (this.cuts == 2) {
          // 兼职招聘
          uni.navigateTo({
            url: '/pages_recruitMoney/recruitmentDetails/concurrently?id=' + item.id,
          })
        } else if (this.cuts == 3) {
          // 人才简历
          uni.navigateTo({
            url: `/pages_recruitMoney/recruitmentDetails/resumeDetails?resumeId=${item.id}&publisherId=${item.publisherId}&indexss=1`,
          })
        }
      },
      jinzhi() {
        let _this = this
        let param = window.location.href.split('#')[0]
        uni.request({
          method: 'post',
          data: {
            url: param,
          },
          header: {
            'content-type': 'application/x-www-form-urlencoded',
          },
          url: 'https://www.bangbangtongcheng.com/conven//mob/login/getJsTicket.do',
          success(re) {
            _this.jinzhifx(re.data)
          },
        })
      },
      jinzhifx(data) {
        wxshare.config({
          debug: false, //是否打开调试
          appId: data.appId, // 公众号的唯一标识
          timestamp: data.timestamp, // 生成签名的时间戳
          nonceStr: data.nonce, // ，生成签名的随机串
          signature: data.signature, // 签名
          jsApiList: ['hideMenuItems'],
        })
        // 禁止分享
        wxshare.hideMenuItems({
          // 要隐藏的菜单项，只能隐藏“传播类”和“保护类”按钮，所有menu项见附录3
          menuList: [
            'menuItem:share:appMessage',
            'menuItem:share:timeline',
            'menuItem:share:timeline',
            'menuItem:share:qq',
            'menuItem:favorite',
            'menuItem:share:QZone',
            'menuItem:openWithSafari',
          ],
        })
      },
      dingwei() {
        this.lat = this.yuanLat
        this.logt = this.yuanLogt
        this.Recommend = []
        // #ifdef H5
        this.initMap()
        // #endif
      },
      listBox_shang() {
        if (this.shangyi == 0) {
          this.shangyi = -315
          this.screendw = 1
        } else {
          this.shangyi = 0
          this.screendw = 0
        }
      },
      initYuan(lat, logt) {
        this.markerList = []
        let markerList = []
        markerList.push({
          id: 1,
          latitude: lat,
          longitude: logt,
          iconPath: 'https://pic.bangbangtongcheng.com/static/yuan.png',
          width: this.screenWidth,
          height: this.screenWidth,
          anchor: {
            x: 0.5,
            y: 0.5,
          },
        })
        this.yuan = {
          id: 1,
          latitude: lat,
          longitude: logt,
          iconPath: 'https://pic.bangbangtongcheng.com/static/yuan.png',
          width: this.screenWidth,
          height: this.screenWidth,
          anchor: {
            x: 0.5,
            y: 0.5,
          },
        }
        this.lat = lat
        this.logt = logt
        this.markerList = markerList
        this.WXitself()
        this.pageNo = 1
        this.getRecommend()
      },
      showModal(e) {
        // #ifndef APP
        this.modalName = e.currentTarget.dataset.target
        // #endif
      },
      hideModal(e) {
        this.modalName = null
      },
      cz() {
        if (this.cuts == 1) {
          this.typeClick(0, 'type7')
          this.typeClick(0, 'type1')
          this.typeClick(0, 'type2')
          this.typeClick(0, 'type3')
          this.typeClick(0, 'type10')
          this.referCarSourceData.region = ''
          this.referCarSourceData.fringeBenefits = ''
          this.referCarSourceData.yearsService = ''
          this.referCarSourceData.educationalRequirements = ''
          this.referCarSourceData.salaryRange = ''
          this.ZWLX = []
          this.referCarSourceData.positionCategory = ''
          this.referCarSourceData.pageNo = 1
        } else if (this.cuts == 2) {
          this.type5.forEach((v) => {
            if (v.valueName == '不限') {
              v.active = true
            } else {
              v.active = false
            }
          })
          this.typexb.forEach((v) => {
            if (v.valueName == '不限') {
              v.active = true
            } else {
              v.active = false
            }
          })
          this.typezpz.forEach((v) => {
            if (v.valueName == '不限') {
              v.active = true
            } else {
              v.active = false
            }
          })
          this.type6.forEach((v) => {
            v.active = false
          })
          this.type7.forEach((v) => {
            v.active = false
          })
          this.type7s.forEach((v) => {
            v.active = false
          })
          this.timeVal1 = ''
          this.timeVal2 = ''
          this.dateVal1 = ''
          this.dateVal2 = ''
          this.dateVal1s = ''
          this.dateVal2s = ''
          this.workHours = 1
          this.recruitUse = 1
          this.JZminimumWage = ''
          this.JZMaximumSalary = ''
          this.referstoreData.settlementMethod = ''
          this.referstoreData.salaryRange = ''
          this.referstoreData.genderRequirements = ''
          this.referstoreData.positionCategory = ''
          this.referstoreData.workingHours = ''
          this.referstoreData.employmentDate = ''
          this.referstoreData.workCycle = ''
          this.referstoreData.region = ''
          this.referstoreData.fringeBenefits = ''
          this.referstoreData.recruiter = ''
          this.ZWLX = []
          this.referstoreData.pageNo = 1
        } else if (this.cuts == 3) {
          this.type2.forEach((v) => {
            if (v.valueName == '不限') {
              v.active = true
            } else {
              v.active = false
            }
          })
          this.type3.forEach((v) => {
            if (v.valueName == '不限') {
              v.active = true
            } else {
              v.active = false
            }
          })
          this.minAge = ''
          this.maxAge = ''
          this.ages = 1

          this.JLminimumWage = '';
          this.JLMaximumSalary = '';
          this.referserveData.distance = ''
          this.referserveData.highestEducation = ''
          this.referserveData.intendedPosition = ''
          this.referserveData.dateBirth = ''
          this.referserveData.workExperience = '';
          this.referserveData.salaryExpectation = ''
          this.referserveData.releaseDate = ''
          this.ZWLX = []
          this.referserveData.pageNo = 1;
        }
        this.Recommend = []
        this.downStatus = true
        this.modalName = null
        this.getRecommend()
      },
      sx() {
        let that = this
        if (this.cuts == 1) {
          this.type7.forEach((v) => {
            if (v.active) {
              this.referCarSourceData.region = v.valueName
            }
          })
          this.type1.forEach((v) => {
            if (v.active) {
              this.referCarSourceData.fringeBenefits = v.valueName == '不限' ? '' : v.valueName
            }
          })
          this.type2.forEach((v) => {
            if (v.active) {
              this.referCarSourceData.yearsService = v.valueName == '不限' ? '' : v.valueName
            }
          })
          this.type3.forEach((v) => {
            if (v.active) {
              this.referCarSourceData.educationalRequirements =
                v.valueName == '不限' ? '' : v.valueName
            }
          })
          this.type10.forEach((v) => {
            if (v.active) {
              this.referCarSourceData.salaryRange = v.valueName == '不限' ? '' : v.valueName
            }
          })
          let zwflArr = []
          this.ZWLX.forEach((v) => {
            zwflArr.push(v.split(',')[2])
          })
          this.referCarSourceData.positionCategory = zwflArr.join(',')
          this.referCarSourceData.pageNo = 1
        } else if (this.cuts == 2) {
          // 点确定时调用一次确认薪资
          if (this.define1() === false) return
          //结算方式
          this.type5.forEach((v) => {
            if (v.active) {
              this.referstoreData.settlementMethod = v.valueName == '不限' ? '' : v.valueName
            }
          })
          //性别要求
          this.typexb.forEach((v, j) => {
            if (v.active) {
              this.referstoreData.genderRequirements = j
            }
          })
          //岗位类型
          this.referstoreData.positionCategory = this.ZWLX.join(',')
          //工作时段
          if (this.workHours == '1') {
            this.referstoreData.workingHours == ''
          } else {
            if ((this.timeVal1 && this.timeVal2 == '') || (this.timeVal1 == '' && this.timeVal2)) {
              uni.showToast({
                title: '请选择工作时段',
                icon: 'none',
                mask: true,
              })
              return
            }
            if (this.timeVal1 && this.timeVal2) {
              this.referstoreData.workingHours = this.timeVal1 + '-' + this.timeVal2
            }
          }
          //用工周期
          if (this.recruitUse == '1') {
            this.referstoreData.employmentDate = ''
          } else {
            if ((this.dateVal1 && this.dateVal2 == '') || (this.dateVal1 == '' && this.dateVal2)) {
              uni.showToast({
                title: '请选择用工周期',
                icon: 'none',
                mask: true,
              })
              return
            } else if (this.dateVal1 && this.dateVal2) {
              let date = new Date()
              this.referstoreData.employmentDate =
                date.getFullYear() +
                '-' +
                this.dateVal1s +
                ',' +
                date.getFullYear() +
                '-' +
                this.dateVal2s
            }
          }
          //工作周期
          let arrgzzq = []
          this.type6.forEach((v) => {
            if (v.active) {
              arrgzzq.push(v.valueName)
            }
          })
          if (arrgzzq.length) {
            this.referstoreData.workCycle = arrgzzq.join(',')
          }
          //工作区域
          let arrgzqy = []
          this.type7.forEach((v) => {
            if (v.active) {
              arrgzqy.push(v.valueName)
            }
          })
          if (arrgzqy.length) {
            this.referstoreData.region = arrgzqy.join(',')
          }
          //福利待遇
          let arrfldy = []
          this.type7s.forEach((v) => {
            if (v.active) {
              arrfldy.push(v.valueName)
            }
          })
          if (arrfldy.length) {
            this.referstoreData.fringeBenefits = arrfldy.join(',')
          } else {
            this.referstoreData.fringeBenefits = ''
          }
          //招聘者
          this.typezpz.forEach((v, j) => {
            if (v.active) {
              this.referstoreData.recruiter = v.valueName == '不限' ? '' : j
            }
          })
          this.referstoreData.pageNo = 1
        } else if (this.cuts == 3) {
          // 点确定时调用一次确认薪资
          if (this.define2() === false) return
          //学历要求
          let arr = []
          this.type3s.forEach((v, j) => {
            if (v.active) {
              arr.push(v.valueName);
            }
          })
          if (arr.length && arr[0] === '不限') {
            this.referserveData.highestEducation = '';
          } else {
            this.referserveData.highestEducation = arr.join(',')
          }
          //意向职位
          this.referserveData.intendedPosition = this.ZWLX.join(',')
          // 年龄
          if (this.ages == 1) {
            this.referserveData.dateBirth = ''
          } else {
            if (this.minAge == '' || this.maxAge == '') {
              uni.showToast({
                title: '请选择年龄',
                icon: 'none',
                mask: true,
              })
              return
            }
            if (this.minAge > this.maxAge) {
              uni.showToast({
                title: '最小年龄不能高于最大年龄',
                icon: 'none',
                mask: true,
              })
              return
            }
            this.referserveData.dateBirth = this.minAge + ',' + this.maxAge
          }
          // 工作经验
          this.type2.forEach((v, j) => {
            if (v.active) {
              if (v.valueName == '一年以内') {
                this.referserveData.workExperience = '1年以内'
              } else {
                this.referserveData.workExperience = v.valueName == '不限' ? '' : v.valueName
              }
            }
          })
          this.referserveData.pageNo = 1
        }
        this.Recommend = []
        this.downStatus = true
        this.modalName = null
        this.getRecommend()
      },
      getType() {
        let that = this
        this.$myRequest
          .get('/api/mobile/personnelOwner/queryDataDictionaryList', {
            type: '1,2,3,10,5,6,7,11',
          })
          .then((res) => {
            res.dataDictionaryList.forEach((el) => {
              el.active = false
              if (el.type == 1) {
                that.type1.push(el)
              } else if (el.type == 2) {
                that.type2.push(el)
              } else if (el.type == 3) {
                that.type3.push(el)
                that.type3s.push(el)
              } else if (el.type == 10) {
                that.type10.push(el)
              } else if (el.type == 5) {
                that.type5.push(el)
              } else if (el.type == 6) {
                that.type6.push(el)
              } else if (el.type == 7) {
                that.type7s.push(el)
              } else if (el.type == 11) {
                that.type11.push({
                  value: el.valueName,
                  text: el.valueName,
                })
              }
            })
            for (var i = 5; i <= 30; i += 5) {
              this.typerq.push({
                value: i,
                text: i,
              })
            }
          })
      },
      // 获取区域
      getArea() {
        let that = this
        this.$myRequest
          .get('/mob/home/getDictionaries', {
            type: '7',
          })
          .then((res) => {
            res.list.forEach((el) => {
              el.active = false
              if (el.type == 7) {
                that.type7.push(el)
              }
            })
          })
      },
      getRecommend() {
        console.log(`触发getRecommend`);
        if (this.markersArrays) {
          for (var i in this.markersArrays) {
            this.markersArrays[i].setMap(null)
          }
          this.markersArrays.length = 0
        }
        this.upStatus = false
        if (this.cuts == 1) {
          this.mapFind()
        } else if (this.cuts == 2) {
          this.mapStore()
        } else if (this.cuts == 3) {
          this.mapService()
        }
      },
      // 地图全职
      mapFind() {
        let that = this
        this.referCarSourceData.distance = this.distance / 1000
        this.referCarSourceData.latitude = this.lat
        this.referCarSourceData.longitude = this.logt
        this.$myRequest
          .get('/api/mobile/personnelOwner/lookupFullTimeRecruitment', this.referCarSourceData)
          .then((res) => {
            const list = res.fullTimeRecruitment.pageList
            console.log(22222221111122, this.referCarSourceData)
            console.log(2222, res)
            let houseNumber = list && list.length
            let toHouse = Number(String(houseNumber).substring(0, 1)) + 1
            // #ifdef H5
            that.downStatus = false
            that.upStatus = true
            that.trigger = false
            if (res.success && res.fullTimeRecruitment.pageCount > 0) {
              that.Recommend = list
              that.Recount = res.fullTimeRecruitment.pageCount
              that.markersArrays = []
              this.getExport()
              list.forEach((e, i) => {
                if (list.length > 100) {
                  if (i % toHouse == 0) {
                    var center = new qq.maps.LatLng(e.latitude, e.longitude)
                    var anchor = new qq.maps.Point(15, 15),
                      size = new qq.maps.Size(30, 30),
                      scaleSize = new qq.maps.Size(30, 30),
                      origin = new qq.maps.Point(0, 0),
                      icon = new qq.maps.MarkerImage(
                        'https://pic.bangbangtongcheng.com/locationpic.png',
                        size,
                        origin,
                        anchor,
                        scaleSize
                      )
                    var marker = new qq.maps.Marker({
                      icon: icon,
                      position: center,
                      map: that.map,
                    })
                    that.markersArrays.push(marker)
                    this.H5itself()
                  }
                } else {
                  var center = new qq.maps.LatLng(e.latitude, e.longitude)
                  var anchor = new qq.maps.Point(15, 15),
                    size = new qq.maps.Size(30, 30),
                    scaleSize = new qq.maps.Size(30, 30),
                    origin = new qq.maps.Point(0, 0),
                    icon = new qq.maps.MarkerImage(
                      'https://pic.bangbangtongcheng.com/locationpic.png',
                      size,
                      origin,
                      anchor,
                      scaleSize
                    )
                  var marker = new qq.maps.Marker({
                    icon: icon,
                    position: center,
                    map: that.map,
                  })
                  that.markersArrays.push(marker)
                  this.H5itself()
                }
              })
              // 调整位置
              that.adjustScrollTop()
            }
            // else {
            //   uni.showToast({
            //     title: '定位失败',
            //     icon: 'none',
            //     mask: true,
            //   })
            //   return
            // }
            uni.stopPullDownRefresh()
            // #endif
            // #ifdef MP-WEIXIN
            that.Recommend = list
            that.Recount = res.fullTimeRecruitment.pageCount
            let markers = []
            markers.push(that.yuan)
            this.getExport()
            list.forEach((e) => {
              markers.push({
                id: Number(e.id),
                latitude: Number(e.latitude),
                longitude: Number(e.longitude),
                iconPath: 'https://pic.bangbangtongcheng.com/locationpic.png',
                width: 30,
                height: 30,
              })
            })
            this.markerList = markers
            this.WXitself()
            // 调整位置
            that.adjustScrollTop()
            // #endif
          })
      },
      // 地图找兼职
      mapStore() {
        let that = this
        this.referstoreData.distance = this.distance / 1000
        this.referstoreData.latitude = this.lat
        this.referstoreData.longitude = this.logt
        this.$myRequest
          .get('/api/mobile/personnelOwner/lookupPartTimeRecruitment', this.referstoreData)
          .then((res) => {
            // #ifdef H5
            that.downStatus = false
            that.upStatus = true
            that.trigger = false
            if (res.success && res.partTimeRecruitment.pageCount > 0) {
              that.Recommend = res.partTimeRecruitment.pageList
              that.Recount = res.partTimeRecruitment.pageCount
              that.markersArrays = []
              this.getExport()
              res.partTimeRecruitment.pageList.forEach((e) => {
                var center = new qq.maps.LatLng(e.latitude, e.longitude)
                var anchor = new qq.maps.Point(15, 15),
                  size = new qq.maps.Size(30, 30),
                  scaleSize = new qq.maps.Size(30, 30),
                  origin = new qq.maps.Point(0, 0),
                  icon = new qq.maps.MarkerImage(
                    'https://pic.bangbangtongcheng.com/locationpic.png',
                    size,
                    origin,
                    anchor,
                    scaleSize
                  )
                var marker = new qq.maps.Marker({
                  icon: icon,
                  position: center,
                  map: that.map,
                })
                that.markersArrays.push(marker)
                this.H5itself()
              })
              // 调整位置
              that.adjustScrollTop()
            }
            // else {
            //   uni.showToast({
            //     title: '定位失败',
            //     icon: 'none',
            //     mask: true,
            //   })
            //   return
            // }

            uni.stopPullDownRefresh()

            // #endif
            // #ifdef MP-WEIXIN
            that.Recommend = res.partTimeRecruitment.pageList
            that.Recount = res.partTimeRecruitment.pageCount
            let markers = []
            markers.push(that.yuan)
            this.getExport()
            res.partTimeRecruitment.pageList.forEach((e) => {
              markers.push({
                id: Number(e.id),
                latitude: Number(e.latitude),
                longitude: Number(e.longitude),
                iconPath: 'https://pic.bangbangtongcheng.com/locationpic.png',
                width: 30,
                height: 30,
              })
            })
            this.markerList = markers
            this.WXitself()
            // 调整位置
            that.adjustScrollTop()
            // #endif
          })
      },
      // 地图找简历
      mapService() {
        let that = this
        console.log(this.distance);
        this.referserveData.distance = this.distance / 1000
        this.referserveData.latitude = this.lat
        this.referserveData.longitude = this.logt
        this.$myRequest
          .get('/api/mobile/personnelOwner/lookupTalentResume', this.referserveData)
          .then((res) => {
            // #ifdef H5
            that.downStatus = false
            that.upStatus = true
            that.trigger = false
            if (res.success && res.talentResume && res.talentResume.pageCount > 0) {
              that.Recommend = res.talentResume.pageList
              that.Recount = res.talentResume.pageCount
              that.markersArrays = []
              this.getExport()
              res.talentResume.pageList.forEach((e) => {
                if (e.realName) {
                  const firstName = e.realName.charAt(0)
                  const secondName = e.sexualDistinction == '1' ? '先生' : '女士'
                  e.name = firstName + secondName
                }
                if (e.experienceYears) {
                  const arr = e.experienceYears.split('年');
                  const y = arr[0];
                  e.experienceYears = arr.length > 1 ? `${y}年` : y;
                }
                // 默认头像
                if (!e.myPhoto) {
                  // 从1-5中随机取数,给一个随机的默认头像
                  const index = Math.floor(Math.random() * 5) + 1
                  if (e.sexualDistinction == '1') {
                    // 男生头像
                    e.myPhoto = `https://pic.bangbangtongcheng.com/static/bbzc/m1.png`
                  } else {
                    e.myPhoto = `https://pic.bangbangtongcheng.com/static/bbzc/w1.png`
                  }
                }
                var center = new qq.maps.LatLng(e.latitude, e.longitude)
                var anchor = new qq.maps.Point(15, 15),
                  size = new qq.maps.Size(30, 30),
                  scaleSize = new qq.maps.Size(30, 30),
                  origin = new qq.maps.Point(0, 0),
                  icon = new qq.maps.MarkerImage(
                    'https://pic.bangbangtongcheng.com/locationpic.png',
                    size,
                    origin,
                    anchor,
                    scaleSize
                  )
                var marker = new qq.maps.Marker({
                  icon: icon,
                  position: center,
                  map: that.map,
                })
                that.markersArrays.push(marker)
                this.H5itself()
              })
              // 调整位置
              that.adjustScrollTop()
            }

            uni.stopPullDownRefresh()

            // #endif
            // #ifdef MP-WEIXIN
            that.Recommend = res.talentResume.pageList
            that.Recount = res.talentResume.pageCount
            let markers = []
            this.getExport()
            markers.push(that.yuan)
            res.talentResume.pageList.forEach((e) => {
              if (e.realName) {
                const firstName = e.realName.charAt(0)
                const secondName = e.sexualDistinction == '1' ? '先生' : '女士'
                e.name = firstName + secondName
              }
              if (e.experienceYears) {
                const arr = e.experienceYears.split('年');
                const y = arr[0];
                e.experienceYears = arr.length > 1 ? `${y}年` : y;
              }
              // 默认头像
              if (!e.myPhoto) {
                // 从1-5中随机取数,给一个随机的默认头像
                const index = Math.floor(Math.random() * 5) + 1
                if (e.sexualDistinction == '1') {
                  // 男生头像
                  e.myPhoto = `https://pic.bangbangtongcheng.com/static/bbzc/m1.png`
                } else {
                  e.myPhoto = `https://pic.bangbangtongcheng.com/static/bbzc/w1.png`
                }
              }

              markers.push({
                id: Number(e.id),
                latitude: Number(e.latitude),
                longitude: Number(e.longitude),
                iconPath: 'https://pic.bangbangtongcheng.com/locationpic.png',
                width: 30,
                height: 30,
              })
            })
            this.markerList = markers
            this.WXitself()
            // 调整位置
            that.adjustScrollTop()
            // #endif
          })
      },
      fanhui() {
        uni.navigateBack({
          delta: 1,
        })
      },
      regionchange(e) {
        console.log(e.causedBy, e.type)
        // #ifdef MP-WEIXIN
        if ((e.causedBy == 'drag' || e.causedBy == 'scale') && e.type == 'end') {
          this.getCenterLanLat()
        }
        // #endif
        // #ifdef APP
        if (
          e.causedBy == 'drag' ||
          e.causedBy == 'scale' ||
          (e.causedBy == 'update' && e.type == 'end')
        ) {
          this.getCenterLanLat()
        }
        // #endif
      },

      initMap() {
        TMap().then((qq) => {
          var that = this
          let address = ''
          let lat = that.lat
          let logt = that.logt
          var center = new qq.maps.LatLng(lat, logt)
          var map = new qq.maps.Map(document.getElementById('map'), {
            center: center,
            zoom: 13,
            disableDefaultUI: true,
          })
          this.map = map
          lat = map.getCenter().lat
          logt = map.getCenter().lng
          var anchor = new qq.maps.Point(this.screenWidth / 2, this.screenWidth / 2),
            size = new qq.maps.Size(this.screenWidth, this.screenWidth),
            scaleSize = new qq.maps.Size(this.screenWidth, this.screenWidth),
            origin = new qq.maps.Point(0, 0),
            icon = new qq.maps.MarkerImage(
              'https://pic.bangbangtongcheng.com/61d928e58d47472891609adfc954148f.png',
              size,
              origin,
              anchor,
              scaleSize
            )
          var marker = new qq.maps.Marker({
            icon: icon,
            position: center,
            map: map,
          })
          that.markersArray.push(marker)
          this.H5itself()
          that.getRecommend()
          qq.maps.event.addListener(map, 'center_changed', function () {
            that.Recommend = []
            that.deleteOverlays()
            lat = map.getCenter().lat
            logt = map.getCenter().lng
            that.lat = lat
            that.logt = logt
            let center = new qq.maps.LatLng(lat, logt)
            marker = new qq.maps.Marker({
              icon: icon,
              position: center,
              map: map,
            })
            console.log(lat, logt, '拖拽地图')
            that.markersArray.push(marker)
            that.getRecommend()
          })
          qq.maps.event.addListener(map, 'zoom_changed', function () {
            that.Recommend = []
            var zoomLevel = map.getZoom()
            that.calculateDis(zoomLevel)
            console.log(zoomLevel)
          })
        })
      },
      calculateDis(index) {
        //根据地图比例计算收缩范围
        console.log('缩放级别：' + index)
        let num = index
        var scalx = 8.5
        // #ifdef MP-WEIXIN
        var scalx = Math.min(
          8.5,
          Math.max(
            8.5 -
              (parseFloat(num).toFixed(1) - 6 >= 10
                ? 20 - parseFloat(num).toFixed(1)
                : parseFloat(num).toFixed(1) - 6) *
                0.32,
            5.4
          )
        )
        // #endif

        let r = uni.getSystemInfoSync().screenWidth * scalx //像素半径
        if (3 <= num && num < 4) {
          //代表1000KM
          let zoom = parseFloat(num).toFixed(1) //保留一位小数  就是 1000到500的过程
          if (zoom >= 4) {
            this.distance = r * 500
          } else {
            let number = zoom.substring(zoom.lastIndexOf('.') + 1) //就是0到9 递归减500的过程 就是平均减 500/10 50的过程
            this.distance = r * (1000 - number * 50)
          }
        }
        if (4 <= num && num < 5) {
          //代表500KM
          let zoom = parseFloat(num).toFixed(1) //保留一位小数 就是 500到200的过程
          if (zoom >= 5) {
            this.distance = r * 200
          } else {
            let number = zoom.substring(zoom.lastIndexOf('.') + 1) //就是0到9 递归减200的过程 就是平均减 200/10 20的过程
            this.distance = r * (500 - number * 20)
          }
        }
        if (5 <= num && num < 6) {
          //代表200KM
          let zoom = parseFloat(num).toFixed(1) //保留一位小数  就是 200到100的过程
          if (zoom >= 6) {
            this.distance = r * 100
          } else {
            let number = zoom.substring(zoom.lastIndexOf('.') + 1) //就是0到9 递归减100的过程 就是平均减 100/10 10的过程
            this.distance = r * (200 - number * 10)
          }
        }
        if (6 <= num && num < 7) {
          //代表100KM
          let zoom = parseFloat(num).toFixed(1) //保留一位小数   就是 100到50的过程
          if (zoom >= 7) {
            this.distance = r * 50
          } else {
            let number = zoom.substring(zoom.lastIndexOf('.') + 1) //就是0到9 递归减50的过程 就是平均减 50/10 5的过程
            this.distance = r * (100 - number * 5)
          }
        }
        if (7 <= num && num < 8) {
          //代表50KM
          let zoom = parseFloat(num).toFixed(1) //保留一位小数   就是 50到30的过程
          if (zoom >= 8) {
            this.distance = r * 30
          } else {
            let number = zoom.substring(zoom.lastIndexOf('.') + 1) //就是0到9 递归减20的过程 就是平均减 20/10 2的过程
            this.distance = r * (52 - number * 2)
          }
        }
        if (8 <= num && num < 9) {
          //代表30KM
          let zoom = parseFloat(num).toFixed(1) //保留一位小数  就是 30到20的过程
          if (zoom >= 9) {
            this.distance = r * 20
          } else {
            let number = zoom.substring(zoom.lastIndexOf('.') + 1) //就是0到9 递归减10的过程 就是平均减 10/10 1的过程
            this.distance = r * (30 - number * 1)
          }
        }
        if (9 <= num && num < 10) {
          //代表20KM
          let zoom = parseFloat(num).toFixed(1) //保留一位小数  就是 20到10的过程
          if (zoom >= 10) {
            this.distance = r * 10
          } else {
            let number = zoom.substring(zoom.lastIndexOf('.') + 1) //就是0到9 递归减10的过程 就是平均减 10/10 1的过程
            this.distance = r * (18 - number * 1)
          }
        }
        if (10 <= num && num < 11) {
          //代表10KM
          let zoom = parseFloat(num).toFixed(1) //保留一位小数  就是 10到5的过程
          if (zoom >= 11) {
            this.distance = r * 5
          } else {
            let number = zoom.substring(zoom.lastIndexOf('.') + 1) //就是0到9 递归减5的过程 就是平均减 5/10 0.5的过程
            this.distance = r * (9 - number * 0.5)
          }
        }
        if (11 <= num && num < 12) {
          //代表5km
          let zoom = parseFloat(num).toFixed(1) //保留一位小数   就是 5到2的过程
          if (zoom >= 12) {
            this.distance = r * 2
          } else {
            let number = zoom.substring(zoom.lastIndexOf('.') + 1) //就是0到9 递归减3的过程 就是平均减 3/10 0.3的过程
            this.distance = r * (5 - number * 0.3)
          }
        }
        if (12 <= num && num < 13) {
          //代表2km
          let zoom = parseFloat(num).toFixed(1) //保留一位小数    就是 2到1的过程
          if (zoom >= 13) {
            this.distance = r * 1
          } else {
            let number = zoom.substring(zoom.lastIndexOf('.') + 1) //就是0到9 递归减1的过程 就是平均减 1/10 0.1的过程
            this.distance = r * (2 - number * 0.1)
          }
        }
        if (13 <= num && num < 14) {
          //代表1km
          let zoom = parseFloat(num).toFixed(1) //保留一位小数 就是 1KM到500的过程
          if (zoom >= 14) {
            this.distance = r * 0.6
          } else {
            let number = zoom.substring(zoom.lastIndexOf('.') + 1) //就是0到9 递归减0.5的过程 就是平均减 0.5/10 0.05的过程
            this.distance = r * (1.1 - number * 0.05)
          }
        }
        if (14 <= num && num < 15) {
          //代表500m
          let zoom = parseFloat(num).toFixed(1) //保留一位小数  小  就是 500到200的过程
          if (zoom >= 15) {
            this.distance = r * 0.3
          } else {
            let number = zoom.substring(zoom.lastIndexOf('.') + 1) //就是0到9 递归减0.3的过程 就是平均减 0.3/10 0.03的过程
            this.distance = r * (0.6 - number * 0.03)
          }
        }
        if (15 <= num && num < 16) {
          //代表200m
          let zoom = parseFloat(num).toFixed(1) //保留一位小数    就是 200到100的过程
          if (zoom >= 16) {
            this.distance = r * 0.12
          } else {
            let number = zoom.substring(zoom.lastIndexOf('.') + 1) //就是0到9 递归减0.1的过程 就是平均减 0.1/10 0.01的过程
            this.distance = r * (0.3 - number * 0.01)
          }
        }
        if (16 <= num && num < 17) {
          //代表100m
          let zoom = parseFloat(num).toFixed(1) //保留一位小数    就是 100到50的过程
          if (zoom >= 17) {
            this.distance = r * 0.065
          } else {
            let number = zoom.substring(zoom.lastIndexOf('.') + 1) //就是0到9 递归减0.05的过程 就是平均减 0.05/10 0.005的过程
            this.distance = r * (0.12 - number * 0.005)
          }
        }
        if (17 <= num && num < 18) {
          //代表50
          let zoom = parseFloat(num).toFixed(1) //保留一位小数   就是 50到25的过程
          if (zoom >= 18) {
            this.distance = r * 0.027
          } else {
            let number = zoom.substring(zoom.lastIndexOf('.') + 1) //就是0到9 递归减0.025的过程 就是平均减 0.025/10 0.0025的过程
            this.distance = r * (0.065 - number * 0.0025)
          }
        }
        if (18 <= num && num < 19) {
          //代表25m
          this.distance = r * 0.027
        }
        if (19 <= num && num < 20) {
          //代表10m
          this.distance = r * 0.001
        }
        if (20 <= num) {
          //代表10m
          this.distance = r * 0.001
        }
        console.log('当前查询范围2-' + this.distance)
        console.log('屏幕宽度' + uni.getSystemInfoSync().screenWidth)
        console.log('比例尺等级' + num)
      },
      deleteOverlays() {
        if (this.markersArray) {
          for (var i in this.markersArray) {
            this.markersArray[i].setMap(null)
          }
          this.markersArray.length = 0
        }
        if (this.markersArrays) {
          for (var i in this.markersArrays) {
            this.markersArrays[i].setMap(null)
          }
          this.markersArrays.length = 0
        }
      },
      async up() {
        this.Recommend = []
        if (this.markersArrays) {
          for (var i in this.markersArrays) {
            this.markersArrays[i].setMap(null)
          }
          this.markersArrays.length = 0
        }
        this.pageNo = 1
        this.downStatus = true
        if (this.upStatus) {
          this.trigger = true
          await this.getRecommend()
        }
      },
      down() {
        if (this.Recount == this.Recommend.length) {
          return
        }
        if (this.downStatus) {
          this.pageNo++
          this.getRecommend()
        }
      },
      // 金额校验
      inputChage1(e) {
        let length = 6
        // 数值中转
        let temp = e.target.value
        //  正则限制 3.. 以及 3.3.3的情况
        if (temp) {
          temp = temp
            .replace(/[^0-9.]|^\.|\.{2,}/g, '')
            .replace('.', '$#$')
            .replace(/\./g, '')
            .replace('$#$', '.')
          const point = temp.split('.')
          let decimals // 整数部分
          let positiveInteger // 小数部分
          // 先处理整数部分
          if (point[0]) {
            decimals = point[0].length > length ? point[0].slice(0, length) : point[0]
          }
          if (point[0].length > 1 && point[0].slice(0, 1) == '0') {
            decimals = point[0].slice(1, 2)
          }
          //  处理小数部分
          if (temp.includes('.')) {
            positiveInteger = point[1].length > 2 ? point[1].slice(0, 2) : point[1]
            temp = positiveInteger ? `${decimals}.${positiveInteger}` : `${decimals}.`
          } else {
            temp = decimals
          }
        }
        this.$nextTick(function () {
          this.JZminimumWage = temp
        })
      },
      inputChage2(e) {
        let length = 6
        // 数值中转
        let temp = e.target.value
        //  正则限制 3.. 以及 3.3.3的情况
        if (temp) {
          temp = temp
            .replace(/[^0-9.]|^\.|\.{2,}/g, '')
            .replace('.', '$#$')
            .replace(/\./g, '')
            .replace('$#$', '.')
          const point = temp.split('.')
          let decimals // 整数部分
          let positiveInteger // 小数部分
          // 先处理整数部分
          if (point[0]) {
            decimals = point[0].length > length ? point[0].slice(0, length) : point[0]
          }
          if (point[0].length > 1 && point[0].slice(0, 1) == '0') {
            decimals = point[0].slice(1, 2)
          }
          //  处理小数部分
          if (temp.includes('.')) {
            positiveInteger = point[1].length > 2 ? point[1].slice(0, 2) : point[1]
            temp = positiveInteger ? `${decimals}.${positiveInteger}` : `${decimals}.`
          } else {
            temp = decimals
          }
        }
        this.$nextTick(function () {
          this.JZmaximumSalary = temp
        })
      },
      inputChage3(e) {
        let length = 6
        // 数值中转
        let temp = e.target.value
        //  正则限制 3.. 以及 3.3.3的情况
        temp = temp
          .replace(/[^0-9.]|^\.|\.{2,}/g, '')
          .replace('.', '$#$')
          .replace(/\./g, '')
          .replace('$#$', '.')
        const point = temp.split('.')
        let decimals // 整数部分
        let positiveInteger // 小数部分
        // 先处理整数部分
        if (point[0]) {
          decimals = point[0].length > length ? point[0].slice(0, length) : point[0]
        }
        if (point[0].length > 1 && point[0].slice(0, 1) == '0') {
          decimals = point[0].slice(1, 2)
        }
        //  处理小数部分
        if (temp.includes('.')) {
          positiveInteger = point[1].length > 2 ? point[1].slice(0, 2) : point[1]
          temp = positiveInteger ? `${decimals}.${positiveInteger}` : `${decimals}.`
        } else {
          temp = decimals
        }
        this.$nextTick(function () {
          this.JLminimumWage = temp
        })
      },
      inputChage4(e) {
        let length = 6
        // 数值中转
        let temp = e.target.value
        //  正则限制 3.. 以及 3.3.3的情况
        temp = temp
          .replace(/[^0-9.]|^\.|\.{2,}/g, '')
          .replace('.', '$#$')
          .replace(/\./g, '')
          .replace('$#$', '.')
        const point = temp.split('.')
        let decimals // 整数部分
        let positiveInteger // 小数部分
        // 先处理整数部分
        if (point[0]) {
          decimals = point[0].length > length ? point[0].slice(0, length) : point[0]
        }
        if (point[0].length > 1 && point[0].slice(0, 1) == '0') {
          decimals = point[0].slice(1, 2)
        }
        //  处理小数部分
        if (temp.includes('.')) {
          positiveInteger = point[1].length > 2 ? point[1].slice(0, 2) : point[1]
          temp = positiveInteger ? `${decimals}.${positiveInteger}` : `${decimals}.`
        } else {
          temp = decimals
        }
        this.$nextTick(function () {
          this.JLMaximumSalary = temp
        })
      },
      define1() {
        // 旧逻辑有误，2023-07-11 页面中join('|')换(",")，距离都除1000
        if (!this.JZmaximumSalary && !this.JZminimumWage) {
          this.referstoreData.salaryRange = ''
        } else if (this.JZmaximumSalary && this.JZminimumWage) {
          if (Number(this.JZmaximumSalary) < Number(this.JZminimumWage)) {
            uni.showToast({
              title: '最低薪资不能大于最高薪资',
              icon: 'none',
              mask: true,
            })
            return false
          }
          this.referstoreData.salaryRange = this.JZminimumWage + '-' + this.JZmaximumSalary
        } else {
          uni.showToast({
            title: '薪资请勿只填最低或最高',
            icon: 'none',
            mask: true,
          })
          return false
        }
      },
      define2() {
        if (!this.JLMaximumSalary && !this.JLminimumWage) {
          this.referserveData.salaryExpectation = ''
        } else if (this.JLMaximumSalary && this.JLminimumWage) {
          if (Number(this.JLMaximumSalary) < Number(this.JLminimumWage)) {
            uni.showToast({
              title: '最低薪资不能大于最高薪资',
              icon: 'none',
              mask: true,
            })
            return false
          }
          this.referserveData.salaryExpectation = this.JLminimumWage + '-' + this.JLMaximumSalary
        } else {
          uni.showToast({
            title: '薪资请勿只填最低或最高',
            icon: 'none',
            mask: true,
          })
          return false
        }
      },
      // 获取时分选择器数据
      timeDivision() {
        let time = []
        for (var i = 0; i <= 23; i++) {
          time.push(i)
        }
        this.timeOptions.push(time)
        let divide = []
        for (var i = 0; i < 60; i++) {
          if (i < 10) {
            divide.push('0' + i)
          } else {
            divide.push(i)
          }
        }
        this.timeOptions.push(divide)
      },
      Change1(e) {
        if (this.timeVal2) {
          let arr = this.timeVal2.split(':')
          if (arr[0] == this.timeOptions[0][e.detail.value[0]]) {
            if (Number(arr[1]) < Number(this.timeOptions[1][e.detail.value[1]])) {
              uni.showToast({
                title: '开始时间不能大于结束时间',
                icon: 'none',
                mask: true,
              })
              return
            }
          } else if (arr[0] < this.timeOptions[0][e.detail.value[0]]) {
            uni.showToast({
              title: '开始时间不能大于结束时间',
              icon: 'none',
              mask: true,
            })
            return
          }
        }
        this.workHours = 0
        this.timeIndex1 = e.target.value
        this.timeVal1 = `${this.timeOptions[0][this.timeIndex1[0]]}:${
          this.timeOptions[1][this.timeIndex1[1]]
        }`
      },
      Change2(e) {
        if (this.timeVal1) {
          let arr = this.timeVal1.split(':')
          if (arr[0] == this.timeOptions[0][e.detail.value[0]]) {
            if (Number(arr[1]) < Number(this.timeOptions[1][e.detail.value[1]])) {
              uni.showToast({
                title: '开始时间不能大于结束时间',
                icon: 'none',
                mask: true,
              })
              return
            }
          } else if (arr[0] > this.timeOptions[0][e.detail.value[0]]) {
            uni.showToast({
              title: '开始时间不能大于结束时间',
              icon: 'none',
              mask: true,
            })
            return
          }
        }
        this.workHours = 0
        this.timeIndex2 = e.target.value
        this.timeVal2 = `${this.timeOptions[0][this.timeIndex2[0]]}:${
          this.timeOptions[1][this.timeIndex2[1]]
        }`
      },
      // 获取月日选择器数据
      dateDivision() {
        let date = new Date()
        let year = date.getFullYear()
        let month = []
        for (var i = 1; i <= 12; i++) {
          month.push(i)
        }
        let day = []
        for (var i = 1; i <= 12; i++) {
          let days = []
          for (var j = 1; j <= this.getMonthDay(year, i); j++) {
            if (j < 10) {
              days.push('0' + j)
            } else {
              days.push(j)
            }
          }
          day.push(days)
        }
        this.dateOptions.push(month)
        this.dateOptions.push(day[0])
        this.dateOptions_key = day
      },
      pickerColumnDept1(e) {
        if (e.detail.column == 0) {
          let arr = []
          arr = this.dateOptions_key[e.detail.value]
          this.$set(this.dateOptions, 1, arr)
          this.dateIndex1[0] = e.detail.value
          this.dateIndex1[1] = this.pickerInitR1
          let timern = setTimeout(() => {
            this.dateIndex1[1] = 0
            clearTimeout(timern)
          }, 100)
        } else {
          this.pickerInitR1 = e.detail.value
          this.dateIndex1[1] = e.detail.value
        }
      },
      pickerColumnDept2(e) {
        if (e.detail.column == 0) {
          let arr = []
          arr = this.dateOptions_key[e.detail.value]
          this.$set(this.dateOptions, 1, arr)
          this.dateIndex2[0] = e.detail.value
          this.dateIndex2[1] = this.pickerInitR2
          let timern = setTimeout(() => {
            this.dateIndex2[1] = 0
            clearTimeout(timern)
          }, 100)
        } else {
          this.pickerInitR2 = e.detail.value
          this.dateIndex2[1] = e.detail.value
        }
      },
      dateChange1(e) {
        if (
          !this.getTimeDate(
            this.dateOptions[0][e.target.value[0]],
            this.dateOptions[1][e.target.value[1]]
          )
        ) {
          return
        }
        if (this.dateVal2) {
          let dateVal2_month = this.dateVal2.split('月')[0]
          let dateVal2_date = this.dateVal2.split('月')[1].split('日')[0]
          if (dateVal2_month < this.dateOptions[0][e.target.value[0]]) {
            uni.showToast({
              title: '结束日期不能小于开始日期',
              icon: 'none',
              mask: true,
            })
            return
          } else if (dateVal2_month == this.dateOptions[0][e.target.value[0]]) {
            if (Number(dateVal2_date) < Number(this.dateOptions[1][e.target.value[1]])) {
              uni.showToast({
                title: '结束日期不能小于开始日期',
                icon: 'none',
                mask: true,
              })
              return
            }
          }
        }
        this.recruitUse = 0
        this.dateIndex1 = e.target.value
        this.dateVal1 = `${this.dateOptions[0][this.dateIndex1[0]]}月${
          this.dateOptions[1][this.dateIndex1[1]]
        }日`
        this.dateVal1s = `${this.dateOptions[0][this.dateIndex1[0]]}-${
          this.dateOptions[1][this.dateIndex1[1]]
        }`
      },
      dateChange2(e) {
        if (
          !this.getTimeDate(
            this.dateOptions[0][e.target.value[0]],
            this.dateOptions[1][e.target.value[1]]
          )
        ) {
          return
        }
        if (this.dateVal1) {
          let dateVal1_month = this.dateVal1.split('月')[0]
          let dateVal1_date = this.dateVal1.split('月')[1].split('日')[0]
          if (dateVal1_month > this.dateOptions[0][e.target.value[0]]) {
            uni.showToast({
              title: '开始日期不能大于结束日期',
              icon: 'none',
              mask: true,
            })
            return
          } else if (dateVal1_month == this.dateOptions[0][e.target.value[0]]) {
            if (Number(dateVal1_date) > Number(this.dateOptions[1][e.target.value[1]])) {
              uni.showToast({
                title: '开始日期不能大于结束日期',
                icon: 'none',
                mask: true,
              })
              return
            }
          }
        }
        this.recruitUse = 0
        this.dateIndex2 = e.target.value
        this.dateVal2 = `${this.dateOptions[0][this.dateIndex2[0]]}月${
          this.dateOptions[1][this.dateIndex2[1]]
        }日`
        this.dateVal2s = `${this.dateOptions[0][this.dateIndex2[0]]}-${
          this.dateOptions[1][this.dateIndex2[1]]
        }`
      },
      // 判断选择日期是否过期
      getTimeDate(time1, time2) {
        let month = new Date().getMonth() + 1
        let date = new Date().getDate()
        if (month < time1) {
          return true
        } else if ((month = time1)) {
          if (Number(date) > Number(time2)) {
            uni.showToast({
              title: '选择日期已过期',
              icon: 'none',
              mask: true,
            })
            return false
          } else {
            return true
          }
        } else {
          uni.showToast({
            title: '选择日期已过期',
            icon: 'none',
            mask: true,
          })
          return false
        }
      },
      // 获取每年每个月有多少天
      getMonthDay(year, month) {
        let days = new Date(year, month, 0).getDate()
        return days
      },
    },
  }
</script>
<style lang="less" scoped>
  .mapTab {
    width: 100%;
    height: 37px;
    background-color: #fafafa;
    display: flex;
    align-items: center;
    justify-content: space-around;

    .item {
      position: relative;
      width: 160rpx;
      height: 37px;
      text-align: center;
      line-height: 37px;
      font-size: 26rpx;
      font-weight: 500;
      color: #999999;
    }

    .active {
      font-size: 32rpx;
      color: #64b6a8;
    }

    .administrations {
      width: 180rpx;
      height: 390rpx;
      background-color: #fff;
      position: absolute;
      right: 12rpx;
      bottom: -388rpx;
      box-shadow: 0px 0px 20px 1px #d0d0d0;
      z-index: 100;
      padding: 0 32rpx;
      display: flex;
      flex-direction: column;

      .items {
        height: 94rpx;
        color: #5a5e66;
        font-size: 28rpx;
        border-bottom: 1px solid #e0e0e0;
        display: flex;
        align-items: center;
        justify-content: center;
      }

      &::before {
        content: '';
        display: inline-block;
        border-left: 24rpx solid transparent;
        border-right: 20rpx solid transparent;
        border-bottom: 24rpx solid #fff;
        position: absolute;
        right: 12rpx;
        top: -22rpx;
      }
    }
  }

  .tittit {
    position: fixed;
    top: 0;
    right: 0;
    background-color: #f8f8f8;
    z-index: 9999;
    max-width: 100%;
    width: 600rpx;
    transition-duration: 0.3s;
    transform: translateX(100%);

    text-align: center;
    line-height: 80rpx;
    font-size: 30rpx;
    border-bottom: 2rpx solid #cccccc;

    view {
      position: absolute;
      top: 0rpx;
      left: 20rpx;
      color: #999999;
      font-size: 54rpx;
      font-weight: 100;
    }
  }

  .show .tittit {
    transform: translateX(0%);
  }

  .selector {
    display: flex;
    align-items: center;
    .selector_item {
      width: 160rpx;
      height: 60rpx;
      background-color: #ffffff;
      border-radius: 8rpx;
      border: 1px solid #999999;
      display: flex;
      align-items: center;
      justify-content: space-evenly;
      font-size: 26rpx;
      font-weight: 500;
      color: #333333;
      .image {
        width: 22rpx;
        height: 22rpx;
      }
    }
  }

  .xbRadio {
    display: flex;
    align-items: center;
    .radio {
      width: 130rpx;
      display: flex;
      align-items: center;
      margin-right: 0;

      .radio_item {
        width: 36rpx;
        height: 36rpx;
        border: 1px solid #c9c9c9;
        border-radius: 36rpx;
        margin-right: 14rpx;
      }

      span {
        font-size: 28rpx;
        font-weight: 500;
        color: #333333;
      }

      .radioxz {
        border: 1px solid #64b6a8;
        position: relative;
      }

      .radioxz::before {
        content: '';
        width: 24rpx;
        height: 24rpx;
        border-radius: 24rpx;
        background-color: #64b6a8;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
      }
    }
  }

  .cu-list {
    padding-bottom: 98rpx;
    background-color: #fff;
    .buxian {
      height: 80rpx;
      display: flex;
      align-items: center;
      padding-left: 20rpx;
    }
    .tit {
      position: relative;
      width: 100%;
      height: 80rpx;
      text-align: center;
      line-height: 80rpx;
      font-size: 30rpx;
      border-bottom: 2rpx solid #cccccc;

      view {
        position: absolute;
        top: 0rpx;
        left: 20rpx;
        color: #999999;
        font-size: 54rpx;
        font-weight: 100;
      }
    }

    .titlepp {
      height: 100rpx;
      line-height: 100rpx;
      margin-left: 38rpx;
      font-size: 28rpx;
      font-weight: 400;
      color: #333333;
    }

    .u-index-anchor {
      font-size: 32rpx;
      font-weight: 600;
      color: #333333;
      background-color: #f2f2f2 !important;
    }

    .list-cell {
      display: flex;
      box-sizing: border-box;
      width: 100%;
      padding: 10px 24rpx;
      overflow: hidden;
      color: #323233;
      font-size: 14px;
      line-height: 24px;
      background-color: #fff;
      justify-content: space-between;
      align-items: center;

      .list-cell-left {
        display: flex;
        align-items: center;

        .list-cell-left-image {
          width: 60rpx;
          height: 60rpx;
          margin-right: 17rpx;
        }
      }

      .list-cell-right {
        width: 40rpx;
        height: 40rpx;
      }
    }
    .leibie {
      margin-top: 40rpx;
      font-size: 28rpx;
      padding-left: 40rpx;
      padding-right: 20rpx;

      .select {
        width: 224rpx;
        margin-left: 20rpx;
      }

      .timeInterval {
        display: flex;
        align-items: center;
      }

      .salaryRange {
        display: flex;
        align-items: center;

        .inputs {
          width: 160rpx;
          display: flex;
          align-items: center;
          font-size: 28rpx;
          font-weight: 500;
          color: #333333;

          .input {
            font-size: 24rpx;
            height: 58rpx;
            border-bottom: 1px solid #e0e0e0;
            margin-right: 10rpx;
          }
        }

        .span {
          margin: 0 10rpx;
        }

        .qued {
          width: 120rpx;
          height: 58rpx;
          background-color: #64b6a8;
          border-radius: 4rpx;
          font-size: 28rpx;
          font-weight: 400;
          color: #ffffff;
          display: flex;
          align-items: center;
          justify-content: center;
          margin-left: 20rpx;
        }
      }

      .list {
        width: 100%;
        margin-top: 24rpx;
        display: flex;
        align-items: center;
        flex-wrap: wrap;

        .li {
          min-width: 90rpx;
          display: flex;
          align-items: center;
          justify-content: center;
          padding: 10rpx 20rpx;
          background: #f2f2f2;
          border-radius: 30rpx;
          margin-right: 24rpx;
          margin-bottom: 24rpx;
        }

        .xuan {
          background: #64b6a8;
          color: #fff;
        }
      }
    }

    .position {
      margin-top: 40rpx;
      font-size: 28rpx;
      margin-left: 40rpx;
      margin-right: 20rpx;

      .position_top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 16rpx;

        .title {
          font-weight: 400;
        }

        .image {
          width: 40rpx;
          height: 40rpx;
        }
      }

      .list {
        display: flex;
        align-items: center;
        flex-wrap: wrap;

        .lable {
          font-size: 26rpx;
          font-weight: 400;
          color: #64b6a8;
          padding: 6rpx 20rpx;
          border: 1px solid #64b6a8;
          position: relative;
          border-radius: 6rpx;
          margin-right: 20rpx;
          margin-right: 14rpx;

          .close {
            width: 20rpx;
            height: 20rpx;
            position: absolute;
            top: 0;
            right: 0;
            display: flex;
            align-items: center;
            justify-content: center;

            .image {
              width: 18rpx;
              height: 18rpx;
            }
          }
        }
      }
    }

    .quyu {
      margin-top: 40rpx;
      font-size: 28rpx;
      margin-left: 40rpx;

      .list {
        width: 100%;
        margin-top: 24rpx;

        .chooseCars {
          width: 503rpx;
          height: 60rpx;
          background-color: #64b6a8;
          border-radius: 12rpx;
          border: 1px solid #64b6a8;
          text-align: center;
          line-height: 60rpx;
          color: #fff;
        }

        .li {
          display: inline-block;
          text-align: center;
          width: 154rpx;
          height: 60rpx;
          line-height: 60rpx;
          background: #f2f2f2;
          border-radius: 30rpx;
          margin-right: 24rpx;
          margin-bottom: 24rpx;
        }

        .xuan {
          background: #64b6a8;
          color: #fff;
        }
      }
    }

    .mianji {
      margin-top: 40rpx;
      font-size: 28rpx;
      margin-left: 40rpx;
      margin-right: 50rpx;

      .list {
        width: 100%;
        margin-top: 24rpx;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;

        .radio {
          width: 50%;
          display: flex;
          align-items: center;
          margin-bottom: 24rpx;

          .radio_item {
            width: 36rpx;
            height: 36rpx;
            border: 1px solid #333;
            border-radius: 36rpx;
            margin-right: 14rpx;

            span {
              font-size: 28rpx;
              font-weight: 500;
              color: #333333;
            }
          }

          .radioxz {
            border: 1px solid #64b6a8;
            position: relative;
          }

          .radioxz::before {
            content: '';
            width: 24rpx;
            height: 24rpx;
            border-radius: 24rpx;
            background-color: #64b6a8;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
          }
        }
      }

      .customPrice {
        display: flex;
        align-items: center;

        .input {
          width: 88rpx;
          height: 40rpx;
          border-radius: 4rpx;
          border: 1px solid #333333;
          padding: 6rpx;
          color: #64b6a8;
          font-size: 24rpx;
        }

        .minimumPrice {
          position: relative;
        }

        .ceilePrice {
          position: relative;
        }

        .minimumPrice::after {
          content: '最低价';
          width: 100rpx;
          font-size: 22rpx;
          font-weight: 400;
          color: #999999;
          text-align: center;
          position: absolute;
          bottom: -34rpx;
          left: 50%;
          transform: translateX(-50%);
        }

        .ceilePrice::after {
          content: '最高价';
          width: 100rpx;
          font-size: 22rpx;
          font-weight: 400;
          color: #999999;
          text-align: center;
          position: absolute;
          bottom: -34rpx;
          left: 50%;
          transform: translateX(-50%);
        }

        .confirm {
          width: 120rpx;
          height: 58rpx;
          background-color: #64b6a8;
          border-radius: 4rpx;
          text-align: center;
          line-height: 58rpx;
          color: #fff;
          margin-left: 30rpx;
        }
      }
    }
  }

  .box {
    position: absolute;
    width: 100%;
    top: 0;
    bottom: 0;
    color: #333;
    background-color: #fff;
  }

  .tou {
    position: relative;
    width: 100%;
    text-align: center;
    line-height: 88rpx;
    font-size: 36rpx;
    color: #333;
    background-color: #fff;

    image {
      position: absolute;
      width: 32rpx;
      height: 32rpx;
      left: 30rpx;
    }
  }

  .map {
    position: absolute !important;
    top: 100rpx;
    left: 0;
    // bottom: 650rpx;
    // width: 100%;
    width: 750rpx;
  }

  .shaixuan {
    display: inline-block;
    position: absolute;
    font-size: 32rpx;
    right: 60rpx;
    /* #ifdef MP-WEIXIN */
    right: 254rpx;
    line-height: 90rpx;
    /* #endif */
  }

  .shaixuan::before {
    position: absolute;
    content: '';
    top: 36rpx;
    left: 80rpx;
    width: 0;
    height: 0;
    border-color: #333 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    border-style: solid;
    border-width: 14rpx 8rpx 0rpx 8rpx;
  }

  .listBox {
    position: fixed;
    bottom: 0px;
    width: 100%;
    padding-top: 50rpx;
    background-color: #fff;

    .shangla {
      position: absolute;
      top: -4rpx;
      left: 0;
      display: inline-block;
      vertical-align: middle;
      width: 180rpx;
      height: 56rpx;
      line-height: 56rpx;
      border-radius: 30rpx;
      color: #999999;
      border: 2rpx solid #e0e0e0;
      text-align: center;
      font-weight: 400;
      font-size: 19rpx;

      image {
        position: absolute;
        width: 32rpx;
        height: 32rpx;
        top: 12rpx;
        left: 5rpx;
      }
    }

    .dingwei {
      position: absolute;
      top: -160rpx;
      right: 30rpx;
      width: 90rpx;
      height: 110rpx;
    }

    .shang {
      position: absolute;
      top: 8rpx;
      width: 21rpx;
      height: 37rpx;
      transform: rotate(-90deg);
      left: 50%;
      margin-left: -18rpx;
    }

    .xia {
      transform: rotate(90deg);
    }

    .listTit {
      position: relative;
      width: 690rpx;
      margin: 10rpx 0;
      margin-left: 50%;
      transform: translate(-50%);
      text-align: center;
      font-size: 32rpx;
      font-weight: 600;
      z-index: 9999;

      .paixu {
        position: absolute;
        top: 4rpx;
        right: 10rpx;
        font-size: 26rpx;
        font-weight: 400;
        color: #333333;
        display: flex;
        align-items: center;

        .checkbox {
          width: 22rpx;
          height: 22rpx;
          border: 1px solid #000;
          margin-right: 8rpx;
        }

        .checkboxChage {
          width: 22rpx;
          height: 22rpx;
          background-color: #64b6a8;
          margin-right: 8rpx;
          text-align: center;
          line-height: 22rpx;

          .image {
            width: 20rpx;
            height: 20rpx;
          }
        }
      }
    }

    .sous {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin: 30rpx;

      .sous_input {
        position: relative;

        .sous_input_s {
          width: 526rpx;
          height: 68rpx;
          border-radius: 37rpx;
          border: 1px solid #999999;
          padding-left: 75rpx;
        }

        .sous_input_img {
          width: 50rpx;
          height: 50rpx;
          position: absolute;
          top: 50%;
          left: 20rpx;
          transform: translateY(-50%);
        }
      }

      .sous_btn {
        width: 152rpx;
        height: 68rpx;
        background-color: #64b6a8;
        border-radius: 37rpx;
        color: #fff;
        text-align: center;
        line-height: 68rpx;
      }
    }

    .px_sx {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin: 0 30rpx;
      margin-bottom: 30rpx;
      font-size: 32rpx;
      font-weight: 400;
      color: #333333;

      .pxu {
        position: relative;

        .xuanz {
          width: 300rpx;
          height: 350rpx;
          background-color: #fff;
          position: absolute;
          right: -280rpx;
          bottom: -370rpx;
          box-shadow: 0px 0px 20px 1px #d0d0d0;
          z-index: 100;
          padding: 0 32rpx;
          display: flex;
          flex-direction: column;

          .items {
            height: 88rpx;
            color: #5a5e66;
            font-size: 28rpx;
            border-bottom: 1px solid #e0e0e0;
            display: flex;
            align-items: center;
            justify-content: center;
          }

          &::before {
            content: '';
            display: inline-block;
            border-left: 24rpx solid transparent;
            border-right: 20rpx solid transparent;
            border-bottom: 24rpx solid #fff;
            position: absolute;
            left: 12rpx;
            top: -22rpx;
          }
        }
      }

      .pxu::before {
        position: absolute;
        content: '';
        top: 18rpx;
        left: 70rpx;
        width: 0;
        height: 0;
        border-color: #333 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
        border-style: solid;
        border-width: 14rpx 8rpx 0rpx 8rpx;
      }

      .sxuan {
        position: relative;
        margin-right: 25rpx;
      }

      .sxuan::before {
        position: absolute;
        content: '';
        top: 18rpx;
        left: 70rpx;
        width: 0;
        height: 0;
        border-color: #333 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
        border-style: solid;
        border-width: 14rpx 8rpx 0rpx 8rpx;
      }
    }
  }

  .list {
    margin-left: 30rpx;
    margin-right: 30rpx;
    width: 690rpx;
    .vacancy {
      width: 100%;
      padding-bottom: 30rpx;
      margin-bottom: 30rpx;
      border-bottom: 1px solid #e0e0e0;
      .vehicleRecom {
        font-size: 36rpx;
        font-weight: 600;
        color: #333333;
        line-height: 44rpx;
        word-break: break-all;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2; //想要的行数
        -webkit-box-orient: vertical;
        .tagLabel {
          vertical-align: top;
          background: #64b6a8;
          color: #fff;
          font-size: 24rpx;
          text-align: center;
          width: 106rpx;
          margin-right: 10rpx;
          padding: 2rpx 6rpx;
          border-radius: 4rpx;
        }
      }
      .vacancy_center {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 16rpx;
        .vacancy_status {
          span {
            font-size: 28rpx;
            font-weight: 400;
            color: #333333;
          }
          span:nth-child(1) {
            margin-right: 16rpx;
          }
        }
        .vacancy_price {
          font-size: 30rpx;
          font-weight: 550;
          color: #e00000;
        }
      }
      .vacancy_biaoq {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 16rpx;
        .vacancy_label {
          flex: 1;
          height: 48rpx;
          position: relative;
          overflow: hidden;
          white-space: nowrap;
          .shade {
            position: absolute;
            right: 0;
            top: 0;
            width: 100rpx;
            height: 48rpx;
            background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
          }
          .label {
            display: inline-block;
            padding: 10rpx;
            background-color: #f0f0f0;
            margin-right: 10rpx;
            font-size: 24rpx;
            font-weight: 400;
            color: #333333;
            border-radius: 4rpx;
          }
          .label:nth-last-child(1) {
            margin-right: 0rpx;
          }
        }
        .gend {
          text-align: right;
          width: 80rpx;
          height: 100%;
          font-size: 24rpx;
          color: #888888;
        }
      }
      .personalInformation {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 28rpx;
        .personalInformation_left {
          display: flex;
          flex-direction: column;
          .personalInformation_image {
            width: 42rpx;
            height: 42rpx;
            border-radius: 42rpx;
            margin-right: 12rpx;
          }
          .GR {
            display: flex;
            align-items: center;
            .name {
              font-size: 24rpx;
              font-weight: 400;
              color: #333333;
            }
          }
          .GS {
            display: flex;
            align-items: center;
            .corporation {
              font-size: 24rpx;
              font-weight: 400;
              color: #333333;
            }
          }
        }
        .personalInformation_right {
          display: flex;
          flex-direction: column;
          justify-content: flex-end;
          .personalInformation_Time {
            font-size: 24rpx;
            font-weight: 400;
            color: #888888;
            margin-bottom: 6rpx;
            text-align: right;
          }
          .personalInformation_distance {
            font-size: 24rpx;
            font-weight: 400;
            color: #888888;
            text-align: right;
          }
        }
      }
    }
    .resume {
      width: 100%;
      margin-bottom: 20rpx;
      background: linear-gradient(180deg, #ecf9ff 0%, #ffffff 100%);
      border-radius: 20rpx;
      border: 1rpx solid #f1f5f5;
      padding: 30rpx;
      font-size: 24rpx;
      overflow: hidden;

      .resumeTop {
        display: flex;
        align-items: center;
        position: relative;
        width: 650rpx;

        .vacancy_biaoq2 {
          display: flex;
          align-items: center;
          justify-content: space-between;
          margin-top: 16rpx;
          width: 538rpx;

          .vacancy_label {
            flex: 1;
            height: 48rpx;
            position: relative;
            overflow: hidden;
            white-space: nowrap;
            width: 100%;

            .shade {
              position: absolute;
              right: 0;
              top: 0;
              width: 100rpx;
              height: 48rpx;
            }

            .label {
              display: inline-block;
              padding: 8rpx 15rpx;
              background: #f5f7f9;
              margin-right: 10rpx;
              font-weight: 400;
              font-size: 24rpx;
              color: #666666;
              border-radius: 4rpx;
            }

            .label:nth-last-child(1) {
              margin-right: 0rpx;
            }
          }

          .gend {
            image {
              width: 50rpx;
              height: 50rpx;
              top: 5rpx;
            }

            position: absolute;
            right: 0rpx;
          }
        }

        .avatar {
          width: 92rpx;
          height: 92rpx;
          margin-right: 20rpx;
          border-radius: 50%;
          overflow: hidden;

          image {
            width: 92rpx;
            height: 92rpx;
          }
        }

        .resumeInfo {
          flex: 1;
          margin-bottom: 12rpx;

          .nameInfo {
            margin-bottom: 20rpx;

            .realName {
              font-weight: 500;
              font-size: 32rpx;
              color: #000000;
              margin-right: 13rpx;
            }

            span {
              margin-right: 30rpx;
            }
          }

          .workInfo {
            .label {
              display: inline-block;
              padding: 8rpx 15rpx;
              background: #f5f7f9;
              margin-right: 10rpx;
              font-size: 24rpx;
              font-weight: 400;
              color: #666666;
              border-radius: 4rpx;
            }

            .label:nth-last-child(1) {
              margin-right: 0rpx;
            }
          }
        }
      }

      .resumeBottom {
        overflow: hidden;
        text-overflow: clip;
        display: -webkit-box;
        line-break: anywhere;
        word-break: break-all;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
      }
    }
  }

  /deep/.map a {
    display: none !important;
  }

  .cu-dialog {
    max-width: 100%;
    width: 600rpx;
  }

  .basis-lg {
    flex-basis: 600rpx;
    overflow: auto;
  }

  .di {
    position: fixed;
    width: 100%;
    bottom: 0rpx;
    left: 74rpx;

    .div {
      display: inline-block;
      width: 300rpx;
      height: 98rpx;
      text-align: center;
      line-height: 98rpx;
      font-size: 30rpx;
    }

    .l {
      background: #e0e0e0;
    }

    .r {
      background: #64b6a8;
      color: #fff;
    }
  }

  .tower-swiper {
    height: 300rpx;
  }

  .tower-swiper .tower-item {
    transform: scale(calc(0.5 + var(--index) / 10));
    margin-left: calc(var(--left) * 100upx - 150upx);
    z-index: var(--index);
    width: 390rpx;
    height: 260rpx;
    left: 44%;
    box-shadow: 0px 13px 12px rgba(0, 0, 0, 0.2);
  }

  .tower-swiper .tower-item.none {
    opacity: 1;
  }

  .Ptop {
    /* #ifdef H5 || APP-PULS */
    // padding-top: 104rpx;
    margin-top: 98rpx;
    /* #endif */

    /* #ifdef MP  */
    // margin-top: 188rpx;
    /* #endif */
  }

  .fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 40;
  }

  .down {
    height: 60rpx;
    line-height: 60rpx;
    text-align: center;
  }

  .none {
    text-align: center;

    image {
      width: 430rpx;
      margin-bottom: 16rpx;
    }

    view {
      height: 40rpx;
      line-height: 40rpx;
      color: #666;
    }
  }

  .AppMap {
    // height: 60%;
    height: 750rpx;
  }
</style>
